Apple – Support – Discussions – MobileMe wont sync calendar, contacts ….
Two solutions seemed to work.
1. From Kevinlole “ I had this issue. Here’s what I did to resolve. I’m using Mobile Me, so I turned off syncing of contacts on the phone and in the Mobile Me system preferences. I reset sync history via iSync. Then, in iTunes, I checked the sync contacts tab. I got my contacts on the phone. Then, I turned on Mobile Me contact syncing on the phone and in system preferences. I synced and everything has worked and stayed.
Hope that helps.”
2. From DPBest “OK, I finally got MobileMe sync to my iPhone 3G w iOS 4 to work. Here is what I had to do (this is less complicated than it looks):
1 – make sure the data at MobileMe cloud has the correct information.
2 – on the iPhone, under Settings>Mail,Contacts,Calendar, delete the MobileMe account and turn off Fetch New Data
3 – hard reset the iPhone (hold Power & Home button until the device powers off).
4 – power up the phone
5 – go back to Settings>Mail,Contacts,Calendar and set up the MobileMe account again.
6 – under the MobileMe account, turn OFF Mail, Contacts, Calendars, Bookmarks and Notes. For each one, tell it to delete the data on the phone (don’t worry – it will recover).
7 – go to each application and verify the data has been deleted (it’s important you leave Settings and run each app before going on otherwise it won’t work).
8 – go back to Settings>Mail,Contacts,Calendar and turn on Fetch New Data and set it to Manual
9 – go to Settings>Mail,Contacts,Calendar>MobileMe Account and turn on Mail, Contacts, Calendars, Bookmarks and Notes. For each one, tell it not to merge the data on the phone with MobileMe.
10 – go to each application (Mail, Contacts, Calendars, Safari Bookmarks and Notes) and wait while the phone populates with the data from MobileMe.
11 – go back to Settings>Mail,Contacts,Calendar and set Fetch New Data to “Push”
Now it all works. Or at least it did for me.
My assumption is that it was the existing data on the phone in combination with a previous Merge setting that caused this to not sync. Hope this helps someone.”