No, it's not due to the data connection as it doesn't try to sync the task immediately (there's always a one-to-two minute delay before a sync is attempted). It sounds like the database needs to be optimized a bit on your device.
Actually, the 5-10 minute CPU usage on boot may indicate what's going on. When you reboot your device Due Today has to reset all of its reminders. Rather than using a background service that runs constantly waiting for reminder times, Due Today uses a specific timer feature in Android that will launch a service at specific times. This service will be launched at the reminder time, check which tasks need reminders, add the notification if necessary and then terminate.
The downside to this approach is that when the device is reset, all of these times are erased by the OS. So, I wrote a small bootup service in Due Today to restore the reminder times. That's what you're seeing.
Now, if this is taking 5-10 minutes it might indicate that you have a lot more tasks in the database than you think. They might be mostly showing up as completed tasks. So, can you look at one thing for me please?
1) Go to your device's homescreen
2) If your device has a menu button press it and go to Settings
2a) If your device does not have a menu button, open the app drawer and select the Settings app
3) Go to Application or App Settings (or Manage Applications on some devices)
4) Locate and tap on Due Today
5) Wait for the data information to be refreshed
On that page it should indicate how much space Due Today is currently using. Could you please let me know that number? I'm guessing it's going to be pretty high and that would account for the general slowdown. In the meantime, I'm going to look for ways that I can speed some of these things up for you.