これはいわゆる「処理落ち」です。
動作が重くなって1フレーム以内に処理が完了しない場合にこうなります。
なぜ、そんなに重いかというと今まで撃った弾を毎回すべて表示しているためです。
画面外に出た弾の数が変数SZに入っているので FOR I=SZ TO S-1 とすれば高速化に繋がるだけではなく無駄に多くの配列を確保する必要も無くなると思います。
あとプチコンのFOR~NEXTは(きざみ値が正数の場合)終了値の方が開始値より小さくなっているとループ内は実行されないためIF S==0 THEN BREAKという処理は無くても問題ありません。
それから発射と移動のボタンの同時押しができないとか弾の先頭のY座標は前回発射したY座標になっているのも気になりましたが、これが仕様でないならば頑張って改善してみてください。
但し、発射していない場合は処理を飛ばす
BX[5]=-1 の場合は処理を中断してBX[6]を確認する
それと、BEAMが画面の外に出た場合、BX[I]を未発射にする
CONTINUE実行すると47行に飛ぶので"-"が表示されない
(CONTINUEを抜くとLOCATE 50.* になるので Out of range エラーになるよ)