After discussing this further off-line, I have come to the conclusion that I believe it would always be best to handle any recording of time into MySQL as GMT. Then to simply let PHP handle the displaying of time into your intended time zone.
This would allow you to change the time zone domain wide by using the Apache directive. Then as Matt has pointed out and you have visitors that require the time to be displayed differently, you can override the default time zone set by Apache with PHP.
As Mysql is concerned you can then make the adjustment on a per connection basis by setting the time zone to "0".
I believe this would also aide in making your code more portable.
This is my conclusion, any other thoughts or holes in my train of thought here?