А вот кто они такие, смотри:
getQualifiedClassName(loader_as2)=flash.display::Loader - обычный лоадер
getQualifiedClassName(target)=mx.containers::Canvas - сюда грузим
getQualifiedClassName(loader_as2)=mx.controls::SWFLoader - swf лоадер
из чего совершенно не ясно почему лоадер воспринимается как IUIComponent.
Насчет рут и левел0 - не я придумал их использовать, просто было написано много игр еще при царе горохе и конечно преписывать их на ас3 или с нормальным синтаксисом никто не собирается. Поэтому их надо как то запихать во флексовое лобби.
Ну и потом, я в упор не вижу разницы с примером из хелпа:

Код AS3:
var ldr:Loader = new Loader();
ldr.mask = rect;
var url:String = "http://www.unknown.example.com/content.swf";
var urlReq:URLRequest = new URLRequest(url);
ldr.load(urlReq);
addChild(ldr);