Функция внутри функции - это нормальное явление, просто надо знать для чего это нужно.
То, что "поезд уходит" тоже не совсем верно:

Код:
function A(){
var x="123"
B()
function B(){
link=this
this.x
}
}
A()
trace(link.x)
А вообще посмотрите тему
Битва гигантов..., там как раз ближе к концу объекты активации исследуются.