Found the solution online here.
Here is a summary. The problem is that the configuration file has root permission only and deleting it to have it be recreated at reboot doesn't fix it.
From the link:
"The cause of the GMT timezone problem in Mac OS X
In a nutshell the problem was being caused by /etc/localtime having the wrong permissions. It was pointing to the correct timezone, but the permissions were such that my user did not have access to the file.
At some point (I have no idea when) my default umask (the NSUmask) got changed from 18 (0x12 hex, 022 octal) to 63 (0x3f hex, 077 octal). This effectively means that, by default, files and links that get created will be read/write for the owner only.
Normally this shouldn't be a problem, but it can be when files created by one user on your machine need to be accessed by other users. In this case "System Preferences" was creating a new symbolic link (/etc/localtime) to the correct timezone file as user 'root' but the link didn't allow anyone (i.e. me) access to the linked to file, even though the permissions on the timezone file were fine.
Fixing the problem therefore is a simple three step process:
Correct the default umask (NSUmask in this case)
Logout and log back in
Replace the timezone symbolic link"
I have already tried this. The file is recreated after restart but the problem persist. – jvanderh – 2009-09-03T14:09:59.950