Buongiorno a tutti,
ho un problema con uno script di preloading che non riesco proprio a risolvere

In sostanza:
ho un swf A che attraverso uno script (sotto) precarica un altro swf B.
Avviene attraverso la creazione di un clip vuoto ove viene inserito l'swf B.
Specifico che gli swf B che vengono caricati sono piuttosto pesanti, sono delle photogallery di immagini.
Barra di avanzamento, kilobytes caricati su kilobytes totali, tutto il cucuzzaro.

Il problema:
l'swf B viene fatto partire PRIMA che il precaricamento sia completo!!!

E non solo! Nonostante il precaricamento sembri sospeso o ultimato, in realtà prosegue in background e una volta che si conclude, l'swf B ricomincia dal primo frame.

Osservandolo sembra che il salto anticipato arrivi raggiunto un dato numero di kilobytes (tipo attorno ai 1.600.000). Perchè non saddacapire!

Lo script è il seguente, inserito sul frame 1 della timeline. Dopo non c'è nulla.
_root.createEmptyMovieClip("placeholder",5);
var mioElenco:Array = new Array("photogallery.swf");
_root.i = 0;
function preloadMovie() {
car = placeholder.getBytesLoaded();
tot = placeholder.getBytesTotal();
per = int(car*100/tot);
caricamento = car+"Kb di "+tot+"Kb";
_root.barretta._width = (per*2.15);
if (per == 100 && tot>0) {
clearInterval(preloadInterval);
_root.i++;
if (i<mioElenco.length) {
startDownload();
} else {
unloadMovie("placeholder");
loadMovieNum("photogallery.swf", 5);
}
}
}
function startDownload() {
placeholder.loadMovie(mioElenco[_root.i]);
preloadInterval = setInterval(preloadMovie, 1);
}
startDownload();
Dove sbaglio? Come posso ovviare a questo problema?
Non vorrei cambiare script perchè è esattamente quel che mi serve, vorrei solo correggerlo.

Grazie a tutti in anticipo per l'aiuto e per l'attenzione.

Buona giornata!

PS: allego anche il .fla qualora servisse Scaricare qui