В моем понимании происходит следующее:
1. Вы запускаете загрузку.
2. Вызывается BEnterFrame. В этот момент загрузка завершается и в стек вызовов попадает Event.COMPLETE.
3. Внутри BEnterFrame вызывается смена кадра. В стек попадает продолжение BEnterFrame. Стадия выполнения кода в текущем кадре прекращается.
4. Кадр сменяется, наступает стадия выполнения кода. Выполняется код из стека (точнее очереди) вызовов - сначала отработка события, затем продолжение BEnterFrame.
Более подробно о том, что за стадия выполнения кода, можно прочитать здесь:
http://www.senocular.com/flash/tutor...rofoperations/