У вас проблема в 40-ой строке:

Код:
// добавим в эти сектора ссылку на объект
for each (s in new_asteroid.sectors){
if (!all_sectors[s]){ // такого сектора еще не было, создадим
all_sectors[s] = new Object();
}
all_sectors[s][new_asteroid.name] = new_asteroid;
}
asteroid.sectors - это Object вида:
[0_0] = true
[0_1] = true
...
Т.е. в качестве имени номер сектора, а в качестве значения всегда true.
Если перебирать циклом

Код:
for (s in new_asteroid.sectors) ...
то переменная "s" будет принимать значения: "0_0", "0_1" ...
Если же циклом
for each, то вы пройдетесь по значениям, а не по именам:

Код:
for each (s in new_asteroid.sectors) ...
переменная "s" будет принимать значения: "true", "true" ...
В итоге, при создании все астероиды попали в сектор "true", и когда пытаетесь его корректно удалить (цикл for) из сектора "0_0", его нет, там null, о чем и сообщает Flash.
Ошибка довольно хитрая, понять в чем дело можно лишь, запустив в debug mode и внимательно посмотрев на значения переменных участвующих в строке с ошибкой: "s", "obj.sectors", "all_sectors", "all_sectors[s]"