I think using the TZ/TZ-Offset of the event is fundamentally the wrong thing to do. The event does not necessarily happen in the same TZ the N900 exists in. For example, if I live in New York and I get an meeting request from someone in Tokyo, I don't want to see Tokyo local time, I want to see New York time. Or if I am traveling, I want my times to reflect the time zone where I am presently located, not the time zone I was in when the calendar entry was created. I think you should read time zone of the N900 and compute the offset from UTC start and end times based on that. TZ of the event itself is irrelevant. In my opinion.