что у тебя происходит из этого куска кода не понять..
вариантов на самом деле может быть много,
я бы так сделал:

Код:
import flash.display.BitmapData;
class PicLoader {
var images=[],loaders=[];
var length,intrv;
var addListener,broadcastMessage;
function PicLoader(){
AsBroadcaster.initialize(this);
}
function load(urls){
images=[];
length=urls.length;
for(var i=length;i--;){
var l=loaders[i]=_root.createEmptyMovieClip('tmp'+i,_root.getNextHighestDepth());
l._x=2000;
l.loadMovie(urls[i]);
}
intrv=setInterval(this,"loadControl",50);
}
function loadControl(){
for(var i=length,bl=0,bt=0;i--;){
bt+=loaders[i].getBytesTotal();
bl+=loaders[i].getBytesLoaded();
}
if(bt>0 && bl==bt){
clearInterval(intrv);
for (var i=length;i--;) {
var l=loaders[i];
images[i]=new BitmapData(l._width,l._height);
images[i].draw(l);
l.removeMovieClip();
}
broadcastMessage('onPicsLoad');
}else {
broadcastMessage('onProgress',bl,bt);
}
}
}
смотрим-проверяем

Код:
var picsUrl=["p0.jpg","p1.jpg","p2.jpg"];//url картинок
var pl=new PicLoader();
pl.addListener(this);
function onProgress(l,t){
trace(l+"/"+t);//здесь вывод информации о загрузке
}
function onPicsLoad(){
trace("все..");
//дальлше только для проверки: по клику будем аттачить по очереди катринки в рут
var n=0;
onMouseUp=function(){
_root.attachBitmap(pl.images[n++],0);
n%=pl.length;
}
}
////////////////
pl.load(picsUrl);//запускаем загрузку
//Ctrl-Enter 2 раза