Trouble with HitTestObject and removeChild

Hi all,
This is driving me mad. I know that a code’s scope is important in whether or not various aspects of a game behave properly or not, but I’ve tried placing this everywhere and nothing works.
For the sake of my asking for help, I’ll just mention that I’m trying to get the game to remove a MovieClip that the player should be collecting if a collision occurs.
Can you please look over my code and advise as to what might work?
Here we go:

var playerTimer:Timer;
var playerContainer:MovieClip;
var tempPlayer:MovieClip;
var tempGoblin:MovieClip;
var leftArrowPressed:Boolean;
var rightArrowPressed:Boolean;

function startGame():void {
    playerTimer=new Timer(500,0);
    playerContainer = new MovieClip();
    addChild(playerContainer);

    tempPlayer = new MovieClip();

    tempPlayer = new myPlayer();

    playerTimer.addEventListener(TimerEvent.TIMER, movePlayer);
    playerTimer.start();

    stage.addEventListener(KeyboardEvent.KEY_DOWN, handleKeys);
}

function movePlayer(event:TimerEvent):void {
    tempPlayer.y=tempPlayer.y-30;

    if (tempPlayer.y<0) {
        tempPlayer.y=480;
    }

    playerContainer.addChild(tempPlayer);

    if (leftArrowPressed==true) {
        tempPlayer.x=tempPlayer.x-30;
    }

    if (tempPlayer.x<0) {
        tempPlayer.x=480;
    }

    leftArrowPressed=false;

    if (rightArrowPressed==true) {
        tempPlayer.x=tempPlayer.x+30;
    }

    if (tempPlayer.x>480) {
        tempPlayer.x=0;
    }

    rightArrowPressed=false;
}

function handleKeys(event:KeyboardEvent):void {
    switch (event.keyCode) {
        case 37 :
            leftArrowPressed=true;
            break;

        case 39 :
            rightArrowPressed=true;
            break;
    }

    **if (tempPlayer.hitTestObject(tempGoblin)) {
        removeChild(tempGoblin);** [U]***// tempGoblin should disappear when tempPlayer collides with it; not working :(***[/U]
    }
}

function drawGFX():void {
    tempPlayer.x=stage.stageWidth/2-30;
    tempPlayer.y=480;

    addChild(tempPlayer);

    for (var i: int = 0; i < 15; i++) {
        var aGrassPiece:MovieClip = new grassPiece();
        var grassContainer:MovieClip = new MovieClip();

        aGrassPiece.x=Math.floor(Math.random()*15+1)*30;
        aGrassPiece.y=Math.floor(Math.random()*15+1)*30;

        addChild(aGrassPiece);
    }

    for (var j: int = 0; j < 15; j++) {
        var goblinContainer:MovieClip = new MovieClip();
        tempGoblin = new theGoblin();
        tempGoblin.x=Math.floor(Math.random()*15+1)*30;
        tempGoblin.y=Math.floor(Math.random()*15+1)*30;

        addChild(tempGoblin);
    }
}

startGame();

drawGFX();