Synchronizing with iCal can take a long time, because it has to compare every task in iCal's database with every action in OmniFocus and see which ones need to be updated. Sometimes iCal's database is completely unresponsive, hanging the application for a minute before giving up with an error. We didn't want that delay (or possible hang) to happen with every edit you make.
But Mixalis' question seemed to be based on the notion that syncing with iCal was necessary to sync between a handheld and the desktop, which is why it's important to note that iPhone and iPod syncing in OmniFocus are completely unrelated to iCal syncing.
But are you telling me that even with Calendar Store you have to compare every task? Surely it (and OF) must (or should) have an index with dates, which would allow for a quick check (compared against last update) thus only needing to deal with a small number of changed tasks/actions. It seems other apps do a decent job of constantly syncing, or is all this related to being compatible with 10.4? And how is this effectively different than a manual sync? No "hangs" there for me, though it does take longer (a few seconds) than I expected, or see in other apps. Why not just set a user defined frequency (only implemented when there was an updatable change; i.e. only when a field in an action is related to an iCal task field, and is actually being synced to iCal). Then offer automated syncing/checking based on the defined frequency, quitting, switching apps, etc.
If iCal is going to be hub of task and event information (which does make sense all things considered, then auto-syncing of such information should happen. I hope you all can find a way over, around or through this barrier, sooner rather than later.
I have to wonder if this is all related to an Apple developer philosophy revealed recently with Apple's "push" blip.
Either way, good luck and good work. The reviews seem mostly accurate; innovative but a bit more complex than expected.