デスクトップ画面で右クリックからプロパティを見るとリフレッシュレートはちゃんと60Hzになっています。
当たり判定などの計算が大量に出てくるプレイ中ならともかく、まだほとんど手をつけていない為、特に処理がないであろうタイトル画面などでも50~55あたりに留まってしまいます。
試しに私のPCで龍神録のFPSを見ると、57あたりをウロウロする感じでたまにスペック不足の表示が出てしまいます。
さらにもう一つ試しにということで東方妖々夢も見てみたところ、これは59.8などほぼ60といえる数値でした。
60FPSに合わせる方法はSleepを使うものではなくwhileで一定時間まで時間を稼がせるものを使っています。
while(GetNowCount() - gametime <= 16.66666666 * fps){}//60Hzにあわせる if(fps > 59){ gametime = GetNowCount(); fps=0;//2行後1に } fps++;16.66666666の部分を25に変えれば40FPSに、20に変えれば50FPSになってくれるので書き方自体は問題ないのではないかと思います。
単なるスペック不足かとも思いましたが、処理がほとんどないタイトル画面でもFPSが低い、東方は問題なく出来ている、という点からして、どうもスペック不足以外の原因がある気がしてしまいます。
もし改善法がわかる方がおられましたら、助言をいただきたいです。