mySpriteHolder.splice(i,1);
Эта строка, вероятно, вызывает некоторые неожиданные результаты (и, возможно, вашу ошибку), когда вы склеиваете объекты из массива, из которого работает цикл. Важно понимать, что когда вы соединяете объект в AS3, вы эффективно удаляете этот элемент, и все последующие индексы уменьшаются на величину сращивания. Вместо этого попробуйте поработать в обратном направлении:
for(var i:int=mySpriteHolder.length-1; i>=0; i--){
Кроме того, эта строка должна быть удалена из вашего события MouseClick, поскольку вы добавляете несколько событий ENTER_FRAME при каждом размещении маркера. Как и сейчас, каждый раз при щелчке мыши будет выполняться дополнительный проход bulletFire ():
stage.addEventListener(Event.ENTER_FRAME,BulletFire);