Thing is $daylight was in fact set and it was returning 3600, as that was one of the things I checked while doing to initial report So I don't think it was a synchronization issue at least locally.

I also forgot to mention you that both connections were running in the same instance so both of them should have updated at the same time given as you said listen for WM_TIMECHANGE and this is stored globally (I assume).

If what you said is true, and I don't doubt it is, this maybe a Windows Time issue and I don't think there is much you can do about it unless the issue can be reproduced reliability.