I uninstalled and installed again, and it still didn’t work. Rebooted again and still not luck. I’ve checked Cyanogenmod’s “Privacy Guard” and it says everything is allowed. Android Sync icon in toolbar is also enabled.
Then I tried going to Settings / Developer options / Development tools / Sync Tester; choose “com.android.calendar - at.bitfire.icsdroid” registered sync adapted, did “bind” (which said “Connected to Sync Adapter / authority: com.android.calendar / account type: at.bitfire.icsdroid”) and then “start sync” which said “starting sync” and after a few seconds “Sync succeeded: SyncResult: stats [ numSkippedEntries: 6]”. After that I did “unbind”.
Now when I start ICSdroid it works - pulling down in ICSdroid to force manual sync does update timestamps of calendar feeds after few seconds (previously it just hung there with rotating circle for minutes until I got bored and closed app). Even after I reboot it still works, so I consider it fixed.
Maybe manual method from developer tools cleaned up some stale locks or something (I’m not android developer as you can see, just pulling parallels from UN*Xoid world) ?
Anyway just to let you know if similar problem pops up in the future. If you want me to run some tests if it happens again, let me know, I’d be glad to help. And thanks for this great piece of GPL software!