446行目の条件が成立してもしなくても@BAG以降が実行されます。 更にXボタンを押した場合はGOSUBで@BAGを呼び出しているのにも 関わらずGOTO @LOOPでボタンを押さなかった場合と同じ位置に ジャンプしています。GOSUBでサブルーチンを呼び出した場合は RETURNで復帰させる様にしないとバグの原因になります。 446の次の行にGOTO @LOOPを挿入し、468のGOTO @LOOPを RETURNに変更すれば目的の動作になると思います。 IF命令を使う場合は条件が成立した場合、しなかった場合にどのように プログラムが実行されるか把握出来てないと思ってたのと違う動作に なってしまいます。