что происходит: у всех кнопок в обработчике клика одна и та же переменная i (итератор цикла), со всеми вытекающими отсюда последствиями..
как бы сделал:
clpArr[i] должен быть не Sprite'ом, а его наследником, имеющим свойство id , которое при создании в цикле и определим, а в обработчике клика его стало быть увидим
за вычетом несущественного:

Код:
package {
import flash.display.*;
import flash.events.*;
public class elGetClipArt extends Sprite{
public var clpArr:Array = [];
public function elGetClipArt(){
for (var i:int = 0; i < 3; i++){
var clip:MySprite = new MySprite(i);
clip.x = 45 * i;
addChild(clip);
clip.addEventListener(MouseEvent.MOUSE_UP, clipClickHandler);
clpArr.push(clip);
}
}
private function clipClickHandler(event:MouseEvent):void {
var clip:MySprite = event.target as MySprite;
var id:int = clip.id;
trace( "id : " + id );
}
}
}
import flash.display.*;
class MySprite extends Sprite{
public var id:int;
public function MySprite(id:int) {
this.id = id;
//debug
graphics.lineStyle(50);
graphics.lineTo(1, 1);
}
}