in realtà il problema è un attimo più articolato, riporto un paragrafo di un articolo che ho scritto recentemente sulla classe MovieLipLoader, per spiegare il problema dei preload tradizionali

[...]la classe MovieClipLoader si occupa di eseguire tutte quelle operazioni di calcolo che fino a Flash 6 eravamo costretti a farci a mano, utilizzando i classici preload, spesso imprecisi e quasi sempre inutili per le funzioni da compiere nel momento in cui il file esterno risultava caricato, ad esempio se utilizzate il seguente script per caricare un'immagine e poi ridimensionarla, nella maggior parte dei casi non riuscirete a farlo:

Codice PHP:
function preload (target) {
    var 
car target.getBytesLoaded();
    var 
tot target.getBytesTotal();
    if(
car == tot){
        
target._width 300;
        
target._height 300;
        
clearInterval(a);
    }
}
mio_mc.loadMovie("img.jpg");
setInterval(preload100mio_mc); 
questo perchè effettivamente c'è uno stacco tra il momento in cui l'immagine è stata caricata in flash e il momento in cui quest'immagine è realmente fruibile a livello di codice. Con un normale preload questo lasso di tempo non è calcolato, mentre la classe MovieClipLoader[...]
effettivamente dovrebbe essere possibile risolvere anche con un preload tradizionale, innestando una ulteriore condizione all'interno di quella che "risolve" il preload

Codice PHP:
if (caricati>&& caricati>=totali){
    if(
_root.loader1.loader_box._width && _root.loader1.loader_box._height 0){
        
clearInterval(idPreload);
        
mcWidth _root.loader1.loader_box._width;
        
mcHeight _root.loader1.loader_box._height;
        
trace("w:" mcWidth "h:" mcHeight )
    }