Все немного не так.
Если точнее - совсем не так.
Как грузить - пример вот тут (внизу):
http://help.adobe.com/ru_RU/AS3LCR/F...URLLoader.html
Как возвращать - паковать в собственное событие. Я пользуюсь вот таким классом для этого:

Код AS3:
package main {
import flash.events.Event;
public class AppEvent extends Event {
public function AppEvent(type:String, eventData:Object, bubbles:Boolean = false, cancelable:Boolean = false) {
_eventData = eventData;
super(type, bubbles, cancelable);
}
override public function clone():Event {
return new AppEvent(type, eventData, bubbles, cancelable);
}
protected var _eventData:Object;
public function get eventData():Object { return _eventData; }
}
}
Как паковать:

Код AS3:
private function completeHandler(event:Event):void {
var loader:URLLoader = URLLoader(event.target);
trace("completeHandler: " + loader.data);
// Пересылаем наверх результат запроса
var appEvent:AppEvent = new AppEvent("dataReceived",loader.data,true)
dispatchEvent(appEvent);
}
Событие с данными надо отловить в родителе лоадера или вверх по иерархии. Чтобы событие не потерялось по дороге, надо следить, чтобы объекты, по которым оно должно пройти, были вложены друг в друга через addChild.