Ignore last comment -- I was being stupid. I can reproduce it and now I have added logging it turns out that this is a much more frequent problem than I had realised (at least 10% of my events hit it). The result is that for events which have this problem, the event local time (e.g. 16:00 India time) is re-interpreted as though it were 16:00 UTC (because the VTIMEZONE is invalid and is ignored). I have a fix and am testing it.