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?