個人的にはWHILE~WEND派ですがボタン入力待ちにREPEAT~UNTILを奨めるのも理由はあります。
それは最も簡単に記述できるからです。
REPEAT WAIT UNTIL BUTON(2)で完全なボタン入力待ち処理ができますが、WHILE~WENDだと完全なボタン入力待ちはWAIT WHILE !BUTTON(2) WAIT WENDとなります。
単なるボタン入力ループでありループ内では特に処理をしない場合はWAIT WHILE !BUTTON(2) WENDのようにループ内のWAITは省略可能です。
ここで重要となってくるのがVSYNCとWAITの違いですが、両者は起点が違うため全く同じ挙動になる場合もあれば異なる挙動になる場合もあります。
ちなみにVSYNCだと下記の場合には正常に動作しません。
INPUT A
REPEAT VSYNC UNTIL BUTTON(2)
2そうだね プレイ済み