But, here's the real bummer, and this is where iCal is missing a feature. Start and end time timezones!
And therein lies the problem.
Since I fly weekly for work, the times need to be accurate. Also, I don't manually enter the flight info--that's a subscription from TripIt, which means I can't edit the times without also screwing up the online version my office and family rely on for updates.
Like you, I've been using iCal since it's inception, and until iCloud stepped into the picture, never had a problem. TripIt would register the correct departure (in the departure time zone) and arrival (in the arrival time zone) so that regardless of where I was and when the iPhone updated to the local zone, the times made sense.
Now, iOS? iCloud? is converting both ends of each flight so that neither is correct. The whole things slides 1-2-3 hours off of the correct time being reported by TripIt.
Major pain that I can't quite find a solution for.