How do I force iCal to sync?
As far as I am aware, invoking iCal's "refresh" function, under the Calendar menu should do all server side communication and updates.



Refresh will only update the calendar that hosts the event you currently have (or last had) selected. Refresh All will of course update all of your calendars. This should be a two-way process, and not just pulling down new changes, it should also send local changes back assuming it's not being done automatically.