World Clock Problems
I can confirm that the World Clock does not properly use the time settings that you configure in the General | Date & Time Settings. No matter what you put for time zone in the Settings, the World Clock will work off of the last time zone that it got from a tower. This is the case even if you have "Set Automatically" turned off and manually set your time zone.
This has happened to me a couple times when I travel. Right now I have just landed in Germany coming from India (with its crazy half-hour time zone). The towers in the area are not updating my clock when it is set to "Set Automatically" so I have manually set my time zone to Berlin and set the time to the correct local time. When I go into the World Clock the Berlin time is incorrect (the half-hour time zone makes this painfully obvious), but the New Delhi time matches the time on the clock - i.e. iPhone still thinks it is in India.
I've tried resetting a number of times and syncing with iTunes but to no avail. The other thing I have done to confirm this behavior is set the iPhone to Airplane Mode, manually set the time and time zone, delete all of my World Clock entries, reboot the iPhone, and add my World Clock entries back. The iPhone still thinks that it is in India after all of this even in Airplane Mode.
In my experience, the only thing that seems to fix it is travelling far enough to switch towers a few times and find one that is properly sending the local time and time zone. It is amazing to me how many towers around the world send incorrect times or none at all.
Edit: BTW, my iPhone is running 1.1.3 and has never been hacked. I know that there are some problems with hacked iPhones and the World Clock, but that is not the case here.