初めて浮動小数点の丸め誤差に引っかかりました。
FPSを正確に60にあわせようとがんばってたんですが、いくらやっても62.25FPS(1フレーム16秒)にしかならず、昔ぴったりあってた時のソースを見てみたところ、どうやらまったく同じ計算方法の様子。で、いろいろとデバッグ吐きまくってわかったのは、起動時間が長かったためtimeGetTimeの返す値が大きくなり、結果的に小数点以下が丸め込まれるということ。しょうがないのでtimeGetTimeの値から適当な値を引くという微妙な解決方法で逃げました。