Non hai tenuto conto dei "tempi di caricamento" della "variabile esterna".
Di fatto Flash si comporta così:
> prima carica il filmato
> poi comincia la riproduzione ed intanto carica i dati esterni.
Per questo quando esegue l'istruzione presente nel primo frame, la variabile non è ancora stata popolata, quindi non va da nessuna parte!

Ma c'è una soluzione!
Nell'articolo che hai citato, c'è un secondo metodo per caricare le variabili esterne, quello delle FlashVars, che si comportano come nel primo esempio tranne che in un particolare (decisivo): vengono caricate PRIMA dell'esecuzione del primo frame del movie.

Provare x credere.