VSYNCはループ内で確実に実行できる場所であればどこにおいても問題ありません。(ちなみに私は最後に置くことが多い)
BREAKやGOTOでループから抜ける場合には「確実に実行できる」ためにはBREAK、GOTOより前に置く必要があります。
VSYNCはRUNをしてから最初の1回目はスルーされる仕様となっている(VSYNC命令は前回のVSYNC命令からの経過時間が指定値より大きい場合はスルーされる)ために最初の方が望ましいという意見があるのも事実ですが、60fpsで動作しているゲームであればVSYNCの代わりにWAITを使えばこの問題はなくなります。
ループ内のどこに置いても良いとはいえVSYNCは元々表示の垂直同期とのタイミングを取る命令なので画面表示の途中でVSYNCを挟んでしまうと表示の途中の状態で垂直同期のタイミングまで待つことになるため表示が乱れたりちらついたりする可能性があります。
また、ボタン入力等も垂直同期のタイミングで情報更新されているためVSYNCを挟んでボタン入力判定を行うと正常に判定ができない場合があります。
ボタン入力や表示のタイミングは考えるのが面倒というのであれば、ループ内の最初と最後のどちらかに置けば問題ありません。
これはBREAKを行わない場合は好みの問題でしょう。
詳しくは私のプチコン3号入門講座を読んでください。
http://ochameclub.web.fc2.com/petitcom3/lecture/vsync.htm