My experience is that the potential actual issue(s) that cause this are still a mystery. There have been several causes found - repeating appointments, corrupt or old pst/ost files, interference from add-ins. I'm not sure what one of these caused my issues, but I still have this issue. A month or so ago I posted this:
http://discussions.apple.com/message.jspa?messageID=8414946#8414946
To summarize I did this:
* Copied calendar to a newly created PST file
* Deleted all calendar entries in my main calendar
* Sync to iPhone: worked
* Copied all meeting invites (from the copy in the newly created PST file) sent to me
* Sync to iPhone: worked
* Copied all meeting invites I sent to others
* Sync to iPhone: worked
* Copied all other meetings by category
* Sync to iPhone: failed
* Deleted each category one at a time and sync'd each time, sync to iPhone worked after one of these.
* Copied all other categories, except one that I suspected, back to calendar
* Sync to iPhone: worked
* Manually reentered all appointments from failed category
* Sync to iPhone: worked
I didn't need to restart Outlook or iTunes in between any of the steps. I did empty the Outlook trash and select send/receive Outlook in between each step to make sure the ost was always up to date with the changes I was making.
The problem still crops up once in a while. Once it does, sometimes I'll get the outlooksynclient crash and sometimes I won't, but the result is the same - no appointments sync either way. My theory is that when this problem reappears, it is a newly created appointment that causes the crash - so far that has always been the case. Sometimes the appointment was entered on my phone, sometimes via Outlook.
What I try to do now is when I enter new appointments, synch soon after. I check to make sure that the sync works, then categorize the appointments. That way, when the crash occurs, I usually have just a dozen or so appointments to sort through. I move all the uncategorized appointments to a temporary pst file - not an ost folder, empty the trash, then select send/receive in Outlook to make sure the ost is up to date. SO FAR, this has always led to a successfully sync - except once.
Then, you can add back each appointment individually, empty the trash, then select send/receive in Outlook, resync, and you will usually find the offending appointment once the outlooksyncclient crashes. Delete that appointment, empty the trash, then select send/receive in Outlook - hopefully the sync will work again. Enter your deleted appointment as a new one.
The one time this method didn't work, I watched iTunes during the sync. It looked like the crash happened when it was syncing contacts, so I played a hunch and deleted a new contact I had recently entered. Emptied the trash, then select send/receive in Outlook and the sync worked. Entered the deleted contact, empty the trash, then select send/receive in Outlook and is was all good again.
Good luck