К пятому варианту пора бы определиться, будет у тебя статик или будет экземпляр))) А то уже вообще трудно сообразить, что тут за арабская вязь))) Зачем тебе эти хитрые методы сетЛоадКомплит и гетЛоадКомплит? Да к тому же паблик - ты собираешься снаружи командовать, что клип загрузился?))))

Код:
class com.flashgangsta.Preloader {
public static var loadComplete:Boolean = false;
private static var _loadListener:Number;
private static var _listenInterval:Number = 30;
private static function listenLoading(target:MovieClip, completeHandler:Function):Void {
loadComplete = target.getBytesLoaded() == target.getBytesTotal();
if(loadComplete) {
clearInterval(_loadListener);
completeHandler();
trace(target + " loading is complete");
} else trace(target + "loaded: " + Math.round((target.getBytesLoaded() / target.getBytesTotal() * 100)) + "%");
}
public static function start(target:MovieClip, completeHandler:Function):Void {
_loadListener = setInterval(listenLoading, _listenInterval, target, completeHandler);
}
}

Код:
import com.flashgangsta.Preloader;
stop();
function StartProgramm():Void {
trace(Preloader.loadComplete ? "Ыыы!" : "упс...");
}
Preloader.start(this, StartProgramm);