じゃあ簡単に解説

まずWin32タイマー精度が1000ms分解能
ほしい精度が1000/60ms=50/3ms分解能

dword time_prev_mul3; // ワンフレ前の時間
dword time_cur_mul3; // 現在の時間
dword time_remain_mul3; // 誤差蓄積時間

void FpsTimer60::wait(){
  while((time_cur_mul3 = timeGetTime()) *3 + time_remain_mul3 - time_prev_mul3 >= 50);
  time_remain_mul3 = time_cur_mul3 - time_prev_mul3 - 50;

}


remainが大きくなりすぎたら一旦remainを初期化したりする処理
連続49/3日稼動をまたぐ時の処理は省略

…という方法
これでうまく動いてるんだけどどうや!