Echoing some of the guidance in our special report on troubleshooting iPhone sync problems, Apple recommends that isolating problematic contacts can resolve an issue where:
"When attempting to sync, you may notice that not all of the data synchronizes to or from the iPhone. You may receive an alert message that indicates the iPhone disconnected during the sync."
In Knowledge Base article #306113, the company says that users should first try syncing just contacts or just calendars, and if the problem occurs while syncing contacts, users should try isolating the problematic contact creating a test group to sync then adding contacts to it in groups or one at a time, re-attempting the sync each time.
The document has instructions for doing so in iCal for Mac OS X, and various editions of Outlook for Windows.