Ага.
Сделай мультизагрузчик - напиши постоянно выполняющуюся функцию, которая бы проверяла состояние нескольких флагов. А их состояние меняй в true, когда то или иное содержимое загрузится полностью.
Например, для звука Sound.onLoad handler , для картинок - onLoadInit.
См. пример:
http://www.szmn.ru/exposition/index.htm
Вот выдержка из кода:

Код AS1/AS2:
//////// БАЗОВЫЙ ЗАГРУЗЧИК
var nCount:Number = 0;
function checkLoad(mcTarget:MovieClip):Void{
var nLBytes:Number = mcTarget.getBytesLoaded();
var nTBytes:Number = mcTarget.getBytesTotal();
var nPercent:Number = (nLBytes/nTBytes)*100;
mcLoader.mcBar._xscale = nPercent;
var sPercent:String = Math.floor(nPercent).toString();
var sKBytes:String = Math.floor(nTBytes/1024).toString();
var sMessage:String = 'загружено '+ sPercent + '%';
mcLoader.tPercentInt.text = sMessage;
if (nLBytes >= nTBytes && nTBytes > 0) {
//ключевой момент - проверяются все статусы
if (nCount >= 5 && expoLoadStatus ==1 && loadSoundStatus ==1 && loadEventsStatus == 1) {
clearInterval(nProgress);
mcTarget.gotoAndPlay('start');
} else {
nCount++;
}
}
updateAfterEvent();
};
var nProgress:Number = setInterval(checkLoad, 100, this);
...........
//// ЗАГРУЗЧИК ЗВУКОВ
var fonSound:Sound = new Sound(this.createEmptyMovieClip("mcSoundBg", this.getNextHighestDepth()));
fonSound.onLoad = function(success:Boolean) {
if (success) {
loadSound1Status = 1;
this.start(0, 999);
this.setVolume(maxFonVolume);
}
};
.......
function checkLoadSound (sound1:Sound, sound2:Sound, sound3:Sound):Void {
var nLBytes1:Number = sound1.getBytesLoaded();
var nTBytes1:Number = sound1.getBytesTotal();
var nLBytes2:Number = sound2.getBytesLoaded();
var nTBytes2:Number = sound2.getBytesTotal();
var nLBytes3:Number = sound3.getBytesLoaded();
var nTBytes3:Number = sound3.getBytesTotal();
nLBytes = nLBytes1 + nLBytes2 + nLBytes3;
nTBytes = nTBytes1 + nTBytes2 + nTBytes3;
var nPercent:Number = (nLBytes / nTBytes) * 100;
mcLoader.mcBarSound._xscale = nPercent;
var sPercent:String = Math.floor(nPercent).toString();
var sMessage:String = 'загружено ' + sPercent + '%';
mcLoader.sound_tf.text = sMessage;
if (loadSound1Status == 1 && loadSound2Status == 1 && loadSound3Status == 1) {
loadSoundStatus = 1; //этот триггер проверяет ф-я проверки загрузки оболочки (общая ф-я проверки загрузки)
clearInterval(SOUNDLOAD);
}
updateAfterEvent();
};
var SOUNDLOAD = setInterval(checkLoadSound, 100, fonSound, hintSound, himnSound); //стартуем загрузчик звуков
fonSound.loadSound(CommonPath + 'background.mp3' + suffix, false); //грузим музыку
hintSound.loadSound(CommonPath + 'hint.mp3' + suffix, false); //грузим подсказку (диктор)
himnSound.loadSound(CommonPath + 'himn.mp3' + suffix, false); //грузим гимн
И т.д..
Делалось давно, не все тут оптимально, код приведешл лишь для понимания принципа. (Картинки там грузятся пачками, с помощью MCL, в конце всех загрузок expoLoadStatus = 1.)