遅れるだけ言ってるだろが。

タイマは、スリープモードに入っていなくても、他の処理との兼ね合いがあるから数ミリとか数百ミリぐらいは遅れる。
だからメインループで1秒間隔で呼び出して60をカウントしても、
その累積誤差が貯まって、スリープモードになっていなくても結構の遅れが出ることになる。

出来る限り正確な時間で処理を行いたいなら、ループ毎に GETTIMEMS() や GETUPTIMEMS() で正確な時間を取得して確認すること。
その場合はコールバック1回分の遅れだけで済む。