ボタンの入力はVSYNC(やWAIT)のタイミングで更新されるみたいです。なのであまりに早く処理してしまうとボタン情報が更新されないのでずっと押しているような状態(として処理)されてしまう感じみたいです。 なので僕はボタン処理の時は必ずVSYNCが一度でも通るか注意しています。また同じ理由で単純なボタン入力待ちの場合、 REPEAT:VSYNC:UNTIL BUTTON(2) AND 16 のようにREPEATを使っています。REPEATなら必ずVSYNCを通った後にボタン判定に進むというのが理由です。 一応僕的にはそんな感じでした〜。