とりあえず、弾が途中で止まるのは、SPANIM でY座標の値に-1を指定しているからだと思います。 つまり、弾の先端がY座標の-1に到達した段階でアニメが止まります。 ……というか、まずそもそもSPANIM の使い方が間違っているような。 SPANIM をFOR文でループさせているのは何故でしょうか? 後、スプライトは512個が上限なので、今のままだとそのうち上限を超えてエラーが出ます。 不要になった弾はSPCLR で削除してください。