Troubles removing Enemy from an array, instance still is on stage

Alright, so really I am having 2 difficulties here.

  1. When a bullet hits an enemy, if 2 zombies are beside eachother, the bullet hits them both – How can I make it so the bullet can only hit one?

  2. When an enemy has health of 0, it dies, I am trying to get the enemy to be removed from the array that the bullet searches through so it will no longer be affected by the enemy, but it doesnt seem to work, the bullet still hits where the enemy was, as if the enemy is invisible.

The code I have (Enemy Class)

package Code{
    import flash.display.*;
    import flash.events.*;
    public class Enemy extends MovieClip {
        public var rot:Number;
        public var health:Number = 50;
        public var alive:Boolean = true;
        var hitPlayer:Boolean = false;
        public function Enemy():void {
            addEventListener(Event.ADDED_TO_STAGE,onadd);
        }
        public function onadd(e:Event) {
            rotation = Math.random()*-180;
            x = Math.random()*stage.stageWidth-this.width+50;
            y = Math.random()*stage.stageHeight-this.height+50;
            addEventListener(Event.ENTER_FRAME,updating);
        }
        public function updating(e:Event) {
            if (this.hitTestObject(MovieClip(root).player.hitBox)) {
                hitPlayer = true;
            } else {
                hitPlayer = false;
            }
            if (hitPlayer && alive) {
                if (this.currentLabel != "attack") {
                    this.gotoAndStop("attack");
                }
            } else {
                if (this.currentLabel != "idle" && alive) {
                    this.gotoAndStop("idle");
                }
            }
            [COLOR=Red]if (health <= 0) {
                if (alive){
                    gotoAndStop("die");
                    alive = false;
                }
                game.enemyArray.splice(game.enemyArray.indexOf(this.name), 1);
                MovieClip(parent).removeChild(this);
                removeEventListener(Event.ENTER_FRAME, updating);
            }[/COLOR]
        }
    }
}

When an enemy is added, it pushes the name to the enemyArray.

            for (var i:int = 0; i<10; i++) {
                enemy = new Enemy();
                enemyHolder.addChildAt(enemy,0);
                enemyArray.push(enemy);
            }

Any suggestions?