таймер создаваемый функцией CreateTimer вообще по своей природе не стабилен (это не таймер а вообще хрень какято) так как он эмулируется из настоящих таймеров ядра подсистемой User32. Которая стоит в данном случае над ядром. Именно по этому я отказался от использования данного таймера в серъезных целях. Да еще и к томуже способ сообщения т.е. посылка события оставляет желать лучшего. Вместо этого я бы вам предложил посмотреть функцию CreateWaitableTimer которая предостовляет реальные таймеры (ну почти), ну а если мы пишем под NT(2000) то весьма целесообразно будет использовать функции NtCreateTimer,NtSetTimer,NtCancelTimer,NtOpenTimer представленные в NtDll.dll (но к сожалению не документированые).
С Уважением Mr.Orbit <mrorbit@mail.ru>