If your iphone will not sync ical and throws an error saying the iphone has disconnected, there are a few steps to follow to see what in ical is kicking out the iphone. There is something ( an event, alert ...) that has become corrupted and itunes does not like it, so it disconnects the iphone.
Try these steps to narrow down the offending calendar and/or event.
1. create a new calendar in ical. Name it test, iphone or something.
2. uncheck all your calendars in ical, so you can only view the events in the new calendar
3. put a test event in the new calendar ( in the future). Call it Test 1.
4. connect up your iphone and set the iphone to sync only to that new calendar.
5. In the info tab that shows up when the iphone is connected, make sure to sync ical calendars is checked
6. Set it to sync only selected calendars.
7. in the window that shows all the calendars, only have the new calendar checked.
8. put a check mark in the box not to sync items older than... Set it to 1 day.
9. Now click apply in the bottom right side of itunes. (this will see if the iphone can sync to ical)
10. Once you have established that the iphone can sync, go back into the info tab and uncheck the new calendar created and check only one of your old calendars.
11. Click apply and try to sync the iphone to that particular calendar.
12. Keep unchecking a calendar that syncs and check a different calendar until you run across a calendar that does not sync. The one that gives you a disconnect error.
13. Now that you've narrowed it down to the offending calendar, you know that it has to do with an event from yesterday and forward.
14. Go back to ical and put a check mark in the calendar that is giving the issue. So now you see the new calendar created and the offending calendar.
15. Now you need to figure out which event/events that are causing the problem.
16. Start moving events over a few at a time to the newly created calendar and sync the iphone only to the new calendar. You can move events 2 ways.
16A. if you have the tray to the side expanded so you can view the details of the event, you can change what calendar it is in.
16B. At the bottom of ical there is a button to the right that allows you to view all evens in a list view. You can right-click or control-click on the event and move to a different calendar.
17. Keep following step 16 until you receive the the disconnect error.
18. When you get the disconnect error again, you know that the last batch of events has the offending, or one of the offending, event/events.
If you run through all of your calendars and do not receive the disconnected error, then the data that was disconnecting the iphone was older data.
Also, if the iphone will not sync to the new calendar, you might want to reset your sync history in the isync preferences.
I hope this helps out a bit.