SP〜系の命令は、ほとんどがSPSETで管理番号を指定してないもので利用するとエラーになります。おそらくエラーになったのは、IFなどの条件分岐でスキップされてSPSETされない場合もあって、その時にSPOFSされたりしてのエラーだと思います。 なのでツララさんも教えてくれているように、SPSETだけ先にしておいて使用するまでは非表示にしておくとか、SPSET前でも使えるSPUSEDを使い、そのスプライト管理番号がSPSETされているかを事前に調べて、使用されている(TRUE)時のみSPOFSする、みたいな感じの処理にすればエラーが出ないようになると思います。