REPEAT~UNTILは条件式が成立するとループを抜けます。 UNTIL 1とするとループせずに次の行を実行するため@Dの処理まで 実行されてしまったようですね。