これはある程度機能していますが、y 位置が 200 未満で始まる場合にのみ tempBullet オブジェクトを削除します。ステージのさらに下のどこかでスポーンされた後にそのポイントに到達した場合ではありません。
if(firing && bulletTimeOut == 0)
{
var tempBullet = new Bullet();
bullets.push(tempBullet);
tempBullet.x = x;
tempBullet.y = y-10;
stage.addChild(tempBullet);
trace(bullets.length);
if(tempBullet.y < 200)
{
bullets.splice(tempBullet, 1);
stage.removeChild(tempBullet);
}
bulletTimeOut = 5;
}