Тогда использовать события не нужно - у тебя нет загрузки и, соответственно, нет задержки.
Сразу передаем в функцию parse xml-ку и сразу берем ответ.
Парсер:

Код AS3:
package
{
public class xmlpars
{
private var _xml:XML;
public var objlist:Array;
public var camlist:Array;
public function xmlpars()
{
}
public function parseXML(xml:XML):void
{
_xml = xml;
var objects:XMLList = _xml["objects"].child("object");
parseMyObj(objects);
var cameras:XMLList = _xml["cameras"].child("camera");
parseMyCam(cameras);
}
private function parseMyObj(obj:XMLList):void
{
var texturearr:Array = new Array();
var textureobjarr:Array = new Array();
var objtext:Array = new Array();
for (var i:Number = 0; i < obj.length(); i++)
{
var object:Object = obj[i];
for (var q:Number = 0; q < object.textures.texture.length(); q++)
{
var t:Object = object.textures.texture[q];
texturearr.push(t.texturesrc);
textureobjarr.push(t.textureobj);
objtext.push(t.text);
}
var s:objItem = new objItem(object.name, object.model, texturearr, textureobjarr, object.@x, object.@y, object.@z, objtext);
objlist.push(s);
}
}
private function parseMyCam(obj:XMLList):void
{
for (var i:Number = 0; i < obj.length(); i++)
{
var object:Object = obj[i];
var s:camItem = new camItem(object.name, object.@farClipping, object.@nearClipping, object.@posx, object.@posy, object.@posz, object.@lookx, object.@looky, object.@lookz);
camlist.push(s);
}
}
}
}
Использование:

Код AS3:
pars:xmlparser=new xmlparser();
//Получаем содержимое прикрепленной xml-ки
var file:ByteArray = (new EmbedModel()) as ByteArray);
var str:String = file.readUTFBytes( file.length );
var xml:XML = new XML( str );
//Парсим:
pars.parseXML(xml);
//Берем данные из pars и:
//тут производится создание объектов MyObject с помощью данных из массива объектов
//и добавляются на сцену
//Тоже самое с камерой
addEventListner(.....,onenterframe);