よくプログラムを見直して見てください。 ループを構成しているのは21行目のIF文の後のジャンプと、13行目のラベルです。 そして、矢印を消す処理は3~7行目です。 矢印の跡は毎回消す必要があります。 つまり、3~7行目は毎フレーム実行される位置で、なおかつ19行目の矢印を速攻で消してしまわない位置である必要があります。 また、14行目と15行目の、Zの範囲を制限するIF文にも問題があります。 このままでは、制限したい範囲を1だけ超えてしまえるようです。 等しい、または大きい・小さいことを表す「<=」「>=」という記号がありますから、是非お使いください。 大なり小なりの記号の前に「=」を追加することで、大きいか小さいかだけでなく等しいことも条件に加えることができます。