This:
var t:Timer = new Timer(wait_time, 1);
Создает таймер в области действия функции.Когда функция выходит из области видимости, таймер становится кандидатом на сборку мусора.Возможно, таймер собран мусором, и событие complete никогда не срабатывает.
Вызов setTimeout () безопасен и, вероятно, делает то, что вам нужно.
Не уверен, что это проблемавидя, но это проблема, которую вы, вероятно, хотите решить.