何故0ではダメで1にしないといけないかはわかりましたか? 考え方として、FORにしたのはWAITの数が1以上だとBUTTON(2)の処理が正常に行われないという事もあります。なのでFORでのループ回数と本来のWAITで止めたい時間は一致する必要があります。 FORの場合、例えばI=0 TO 5とした場合、ループ回数は6回になりますよね?(0,1,2,3,4,5) ……という風に考えていくと見えてくると思います。 あと17行目と18行目は入れ替えてWAITを先に持ってきた方がいいかな。と言うのは、今回は大丈夫そうだけどBUTTON命令はVSYNCやWAIT時に更新されるので、その前にVSYNCやWAITがないと以前の値が変化しなくて予定通りに処理されない場合があるからです。ただ逆にした場合最低無駄に1フレームは経過しちゃいますが、それは許容範囲なレベルかなと思います。