нашел ответ на свой вопрос, правда не совсем то что хотел получить, но на безрыбье так сказать. Если в переменных другого класса определить этот объект, иницилизировать а потом навесить любое событие, то переменные определенные паблик в классе определяются внутри события корректно.
вот финальный код класса(кое-что исправил спасибо комментариям):

Код AS3:
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
/*
@author soniko
@author GG
*/
public class PictureLoader extends Sprite {
private var count:int;
private var loadList:Array;
private var loaderList:Array;
private var ldr:Loader;
private var arBitmapdata:Array;
public var arBmd:Array;
public function PictureLoader(loaderList):void {
arBitmapdata = new Array();
arBmd = new Array();
ldr = new Loader();
loadList = loaderList;
count = loadList.length;
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete, false, 0, true);
loadComplete(null);
trace(arBmd);
}
private function loadComplete(eve:Event):void {
if (eve) {
//super.addChild((eve.target as LoaderInfo).content);
arBitmapdata.push(eve.target.content.bitmapData.clone());
loadList.shift();
}
if (loadList.length > 0) {
loadNext(new URLRequest(loadList[0]));
}
else{
onLoadComlete();
}
}
private function loadNext (request:URLRequest):void {
ldr.load(request);
}
private function onLoadComlete():void{
arBmd = arBitmapdata;
ldr.contentLoaderInfo.removeEventListener(loaderevent.COMPLETE, loadComplete);
}
}
}