I think I might have found a work around. A few days have to go by to really know if this worked.
Since the logs were showing sync issues in the calendar, I exported the calendar through the Zimbra UI. This created an ICS file.
I then cleared the calendar
zmmailbox -z -m user@domain.com emptyFolder /Calendar
and imported it back to the server.
After this the user forced a sync on the iphone and all items synced fine. No skipped errors appeared in the logs after this. I did it with at least three users and it worked every time. However, I'm still keeping an eye on this as sometimes an event throws the whole syncing out of whack.
My next step was going to be work with the ICS file, but I'm hoping I don't have to do that.