ForLoopのマクロの中にdelayを置くと最初の1回の時間が短くなります

最初のループだけ速くなる原因は、ループマクロの中の、Deleyのはさむ場所の問題だと思います。
その場所に入れると、1回めの計測前にDelayを通過しない分だけ速いです。

計測(最初) 計測(1) 待機 計測(2) 待機 計測(3) 待機 計測(4)

こんな感じになります。
Delay部分を除くと、ほとんど一瞬で終わる処理なので、1回目は0msになります。

例えば下記のようなタイミングなら、1回目の計測前にDelayを通ります。
なので1回目だけ速いということにはならないです。

SetTimerEventの方は、PCの負荷等による誤差の範囲だろうと思います。
この表示だとそれぞれの回数がわかりにくいので、
直前のループでの時刻を保存して、各ループの回数がわかるようにしています。

これで見ると、適度にばらついていて、特にどれが速いということもなさそうです。
同時に起動していたソフトを終了させて、安定した状況で実行すると30回連続200msも高確率で出ました。