I've had my HTC Evo since it came out a year ago. My Google contacts synced flawlessly numerous times during this period.
I rooted my phone on 5/23 with unrevoked, and everything still seemed to be fine. I only add this for the small chance that rooting is involved. I have not applied the gingerbread update, and I haven't done a system update since the last OTA forever ago.
According to the accounts and sync screen, the last time my contacts synced was on 6/7. Since this was a week ago, I can't really think of anything I could've done that would break my contact syncing. When I go and try to resync, it acts like it's trying, and it doesn't change the sync date. Also, data isn't going between my phone and my Gmail account.
Gmail and calendar syncing seem to work fine. I haven't noticed any other issues. Any clue as to what could cause this and how to fix it?
Settings > Accounts and Sync
This will force Android to sync it :)
So, as the night progressed, and I tried various fixes such as what Nathan suggested and restoring from Titanium backups and such, my problems simply got worse.
I ended up simply backing up my application data and restoring from a nandroid backup. That seems to have fixed it. It may have been a virus, or I might've corrupted something somehow. After I restored the backup, the contacts are syncing just fine.
I had a similar problem which was caused by having a YouTube account registered on my phone as a Google account. Until this point, I only had a single Google account and it all worked fine, but after adding the YouTube account it seemed to stop a lot of things from working correctly on my normal Google account.
This was resolved by removing the YouTube account from my Accounts And Sync settings.
Is there any way that I can limit my Galaxy S to only download & sync contacts from the google account that are in "My Contacts"? Right now, it downloads everything, in particular, contacts in the "Other Contacts" group which has people that I've only emailed one time (or responded to). This takes my contact list from <200 up to 500+. On the other side, any way to use the groups that I've included in my google account?
I'm not opposed to using a separate application to manage these. It seems to me that Samsung's contact implementation is just poorly thought out, and I really hope that they make drastic changes to it for the 2.2 update.
Contacts | Menu | Display Options | Choose contacts to display (account)
Make sure only "System Group: My Contacts" is checked. Or whichever groups you actually want to see. (More specifically, make sure "All other contacts" is not checked.)
Filtering Contacts : You can filter contacts from particular group.
Contacts | Click - Menu Button | Filter | Click - Google (account) | Select - System Group: My Contacts