Нашел ещё одну проблему. Промежуток времени между 01.01.2014 00:00:00 и 01.01.2014 23:59:59 интерпретируется как +3.
Кажется не такой уж большой проблемой, но попробуйте в любом DateTime-поле в контроле выбрать 01.01.2014 00:00:00. После сохранения записи она тут же изменится на 31.12.2013 23:00:00.
Исправление такое:
X++:
UPDATE [dbo].[TIMEZONESRULESDATA]
SET
[DYEAR] = 2013
,[DMONTH] = 12
,[DDAYOFWEEK] = 2
,[DDAY] = 31
,[DHOUR] = 20
,[DMINUTE] = 0
,[DSECOND] = 0
--,[SDAY]=26] -- ,
WHERE TZENUM = 61 AND RULEID = 61005
Т.е. сдвинуть нужно на 4 часа дату начала, при этом придется залезть в прошлый год.
У себя проверил - работает. Буду рад, если кто-нибудь ещё подтвердит.