最初にステージに出る敵すべてを起動して、時間で動き出すんですよね。
マリオみたいに縦横に行ったり来たりスクロールするゲームでは
そういうやり方かも知れないけど、シューティングの場合、背景をスクロールするごとに
カウンタをアップしていって、ある値の時にあるタスクを、空きのワークエリアに
設定というやり方でいいのではないでしょうか。

画面内のタスクはflag=1で、画面外に出たらflag=0で、スクロールポインタが
ある値に来たときの起動は、ワークエリアすべてを検索してflag=0のワークエリアを
探して、そこへタスクのデータを設定するのです。

>一度使われたところが終わってflagが0になったところに
>次のを入れるといった感じにすればよいのでしょうか?
その通りです。