Существует большая вероятность того, что проигрыватель Flash Player создает «объект-обертку» для каждого ключевого кадра и что при воспроизведении определенного ключевого кадра он просто обращается к этому «экземпляру» ключевого кадра. Я почти уверен, что плеер не хранит новый экземпляр этой функции в памяти, это будет объем пространства, и тот факт, что вы можете вызвать функцию, объявленную в первом кадре из второго кадра, например, показывает, что функции из кадра, вероятно, являются стойкими. Кроме того, если учесть тот факт, что вы не можете изменить код из кадра из другого кадра, когда временная шкала повторно входит в этот кадр, содержимое будет таким же. Из небольшого теста, который я сделал, кажется, что игрок просто выполняет код фрейма каждый раз, когда входит в этот фрейм, и весь код на фрейме является глобальным для текущей временной шкалы. Я не много тестировал, поэтому могу ошибаться, но я почти уверен, что вы можете удалить переменную состояния, потому что она не будет работать, так как переменная состояния будет сброшена в false при запуске скрипта кадра.
Надеюсь, это поможет.