особенности областей видимости.
Функции работают, но во время выполнения iOne = handLength, то есть сardInHandOutline[iOne] = undefined
Всю эту конструкцию можно обернуть в вызов функции (Javascript-way):

Код AS3:
//активируем подсветку при наведении
( function ( card:InteractiveObject, outline:DisplayObject ):void {
card.addEventListener( MouseEvent.MOUSE_OVER, function ( e:MouseEvent ):void {
outline.visible = true;
} );
card.addEventListener( MouseEvent.MOUSE_OUT, function ( e:MouseEvent ):void {
outline.visible = false;
} );
} )( cardInHand[ iOne ], сardInHandOutline[ iOne ] );
Но я бы рекомендовал написать отдельный класс для карты:

Код AS3:
class CardInHand extends Sprite {
private var body:InteractiveObject;
private var outline:DisplayObject;
public function CardInHand( bodyClass:Class, outlineClass:Class ) {
body = new bodyClass();
outline = new outlineClass();
addChild( body );
addChild( outline );
outline.visible = false;
addEventListener( MouseEvent.ROLL_OVER, onRollOver );
addEventListener( MouseEvent.ROLL_OUT, onRollOut );
}
private function onRollOver( e:MouseEvent ):void {
outline.visible = true;
}
private function onRollOut( e:MouseEvent ):void {
outline.visible = false;
}
}