You might want to go into Menu - Settings - Date & Time and uncheck Automatic. When Automatic is checked the phone takes the time from the network and Calendar uses the time zone of the network you are in.
Just discovered this issue. I'm a new (less than 2 months) Android (Moto Droid) user and didn't realize the time zone issue was such a problem until I travelled outside my home time zone.
All my appointments got moved around; I had a meeting a 1:30 pm in my destination location, which I had entered while home, and of course when the phone's time zone changed the appointment time moved, too.
I have to say that my old iPhone (which I switched from to go to the Droid) handled this way more intelligently. It has an option to enable time zone support, so it wont move your appointments around when your time zone changes.
Basically, with Google Calendar and the Droid, I've got to mentally calculate when my future appointments will be in my destination time zone and enter them in so that when the phone's time zone changes, the appointment time as displayed on my phone gets calculated correctly.
Stupid. Stupid.
Pardon me for praising Apple, but on this one, they got it right. You can basically have your calendars be time zone agnostic, where 2pm is simply 2pm wherever you are, or you can set certain events to a specific time zone. Google Calendar and Android simply cannot do this.
I've searched all the Android & Google Calendar forums and it's obvious that this is a limitation with Google - there's tons and tons of posts about this and none can offer a solution.
For a big, multinational company (that deals in multiple time zones themselves), I can't fathom how Google hasn't address this yet.