Помимо отсутствующего var перед маркером: Bullet, я не вижу ничего плохого в примере кода. Вы должны установить точку останова сразу после:
var shot:Bullet = e.currentTarget as Bullet;
И выясните, почему shot равно нулю. Я подозреваю, что в коде есть что-то не так, за исключением того, что вы предоставляете в качестве примера. Если код работает только с закомментированной строкой removeChild, он говорит мне, что e.currentTarget не равен null, но также не является ссылкой на экземпляр типа Bullet (то есть приведение типа as возвращает null) 1008 *