I can't reproduce the original problem using the original, heuristic-based icaltz-util.c...
This change of behavior in libical is also causing regressions in SyncEvolution (http://comments.gmane.org/gmane.comp.mobile.syncevolution/4757)....