Но все-таки согласитесь, вы не можете getSomeStringFromXml("blabla"); прежде, чем вы загрузите сам xml? А грузится он может секунду, а может 20 секунд, интернет у всех разный.
Вот и получается что жарить рыбу вы можете начать только получив ее в руки.
Насчет использования того же класса, отделите мух от котлет:
customFunction - это ваш getMedia()

Код AS3:
package
{
import flash.net.URLRequest;
import flash.net.*;
import flash.events.Event;
public class MyLoader
{
private var Loader:URLLoader;
private var customFunction:Function;
public function MyLoader(fileName:String, _customFunction:Function):void
{
customFunction = _customFunction;
xmlLoader = new URLLoader();
xmlLoader.addEventListener(Event.COMPLETE, customFunction, false, 0, true);
xmlLoader.load(new URLRequest(fileName));
}
private function onComplete(e:Event) {
xmlLoader.removeEventListener(Event.COMPLETE, customFunction);
customFunction(e);
}
}
}
То есть где вам надо используйте на здоровье:

Код AS3:
//какой-то ваш класс
var L:myLoader = new MyLoader (fileName, getMedia);
...
public function getMedia(e:Event){myXML = new XML(e.target.data);
}