When deploying Windows 7 x64 using MDT 2010 Zero Touch and ConfigMgr 2007 SP2 the TimeZoneName variable does not work as expected. Windows 7 x86 however works fine.
Workaround:
Add a “Set a Task Sequence variable” action before the “Apply Windows Settings” action in the Task Sequence, and set OSDTimeZone to %TIMEZONENAME%
Note: You also need to have a x64 unattend.xml in your settings package.