Автор, вот что я имею ввиду. Пример:

Код AS1/AS2:
//в начале мувики невидимы
for (i = 1; i <= 10; i++) {
_root['mc' + i]._visible = false ;
}
//создаем объект-хранилище для переменных, которые будут содержать номера таймаутов
var indexOfTimeouts:Object = new Object();
//стартует показ мувиков с все возрастающей задержкой
startShow.onRelease = function () {
for (i = 1; i <= 10; i++) {
indexOfTimeouts[i] = setTimeout(showMc, i * 500, i); //передаем в функцию аргументом номер i
}
}
//сама функция показа
function showMc (num:MovieClip) {
_root['mc' + num]._visible = true ;
}
//очищает все таймауты, беря номера из переменных, которые содержатся в специальном объекте
sopShow.onRelease = function () {
for (i in indexOfTimeouts) {
clearTimeout(indexOfTimeouts[i]);
}
};
См. Работающий пример
Очистка нескольких таймаутов.rar
То есть рекомендую организовать некое хранилище, наподобие объекта indexOfTimeouts в примере, куда будете складывать номера всех вызванных таймаутов, а к обработчику события перехода на другой кадр (не знаю, что там у вас, нажатие кнопки или что, это неважно) добавить вызов цикла очистки всех таймаутов по номерам, как это сделано в конце кода.
PS. veles2008, разобрались? Да, иногда рациональнее использовать setTimeout, если нужно выполнить что-то только раз. Хотя если делать очистку правильно, то и интервалы все должны очищаться.