I thought Windows XP might (internally) use the Dynamic DST data in the Time Zones registry for supporting any DST rule changes, because Dynamic DST was introduced for the US DST rule change IIRC. But as far as I tested, XP seems to ignore Dynamic DST data. If that's the case, your proposed fix should be good.
As far as I know, the dynamic DST data is used by Windows Vista/2003 server or later Windows versions. The registry data for dynamic DST is included in Windows XP time zone updates, but not used by Windows XP.
-Yoshito