Help calling function

I’m stuck trying to call an event handler function (line 109 & 114) from inside an event listener (line 51 & 52). Everything works as expected except the event handler has no reaction to a mouse event. I’ve experimented with Delegate.create but didn’t solve the problem. Any help would be greatly appreciated. Here’s the code.

buttonHolderClip is previously defined
Three arrays have been previously loaded from external XML file: label_array, image_array & link_array
FlashStyles.css is defined in an external style sheet

// total # of buttons & headers
//
var nButtons:Number = label_array.length;

// create buttonHolders
//
for (var i:Number = 0; i < nButtons; i++) {

// For each button node create a MovieClip, "buttonHolder*" 
// Tag with unique identifier i and Assign depth = i
//
buttonHolderClip.createEmptyMovieClip ("navButton" + i, i);
	
	
// Create a variable to use as a handle the new button 
//
var navButton:MovieClip = buttonHolderClip["navButton" + i];

	
// load button images
//
buttonImageLoader.loadClip(image_array*, navButton);
		
	
	
// This code is called for each value of "i" by imageListener 
// when the corresponding button image has completely loaded
// which effectively couples it into the "for" loop
//
buttonImageListener.onLoadInit = function (target_mc:MovieClip) {
		
		
	// Attach variable linkURL to target_mc movie clip.  target_mc is
	//
	target_mc.linkURL = link_array[nCounter];
		
		
	// Add actions to navButton
	//
	target_mc.onPress = buttonSound;
	target_mc.onRelease = buttonClick;
		
					
	// layout button on stage
	//
	target_mc._x = 0;
	target_mc._y = Math.round(yPosition);

		
	if (label_array[nCounter] == "ABOUT") {
		target_mc._y = navButtonHeight * nCounter + 5;

} else {

	if (label_array[nCounter] == "PRACTICE" || label_array[nCounter] == "PORTFOLIO" || label_array[nCounter] == "CLIENTS" || label_array[nCounter] == "CONTACT") {target_mc._y = navButtonHeight * nCounter + 8;

} else {

		target_mc._y = navButtonHeight * nCounter + 8;
		}
	}
					
		
		
	// Add text field for button label
	//
	var buttonText:TextField = target_mc.createTextField("buttonLabelField", nCounter + 100, 0, 0, 100, 16);
	buttonText.html = true;
	buttonText.align = left;
	buttonText.border = true;
	buttonText.selectable = false;
	buttonText.multiline = false;
	buttonText.wordWrap = false;
	buttonText.embedFonts = true;
	//buttonText._rotation = 45;
	buttonText.antiAliasType = "advanced";
	buttonText.styleSheet = flashStyles;
		
		
	buttonText.htmlText = "&lt;span class='navSubHead'&gt;" + label_array[nCounter] + "&lt;/span&gt;";
	
	nCounter += 1;
	 
	
	}

}
	
buttonImageLoader.addListener(buttonImageListener);
			
	
	
// Event handlers
//
function buttonClick():Void {
	//clipLoader.loadClip(target_mc.linkURL, screenClip);
	race("Button Release");
}
	
function buttonSound():Void {
	trace("Button Press");
}