Написал с вызовом callback-функции:
SetWaitableTimer (hTimer, &tm, 0,
MyCompletionRoutine, // completion routine
&MyArgToCompletionRoutine, // completion routine parameter
0);
Нифига она не вызывается

Интервал ставил 15 секунд:
tm.QuadPart = -150000000;
Насторожила строка в MSDN:
The completion routine is executed by the thread that activates the timer using SetWaitableTimer. However, the thread must be in an alertable state.
Может, в данном случае этого "стейта" и нет...