Ciao, mi sto dimenticando qualcosa:

ho un codice di questo genere:

Codice PHP:
var padre:MovieClip=new MovieClip();
var 
figlio:MovieClip=new MovieClip();
var 
nipote:MovieClip=new MovieClip();
padre.name="padre";
figlio.name="figlio";
nipote.name="nipote";
figlio.addChild(nipote);
padre.addChild(figlio);
trace(padre.getChildByName("figlio").name);
trace(padre.getChildByName("figlio").getChildByName("nipote").name); 
Domanda semplice:
perchè il primo trace è corretto e il secondo no?
Per ovviare al secondo dovrei scrivere questo codice:

Codice PHP:
trace(padre.getChildByName("figlio").name);
var 
mc_temp:MovieClip=padre.getChildByName("figlio") as MovieClip;
trace(mc_temp.getChildByName("nipote").name); 
Però qualcuno saprebbe dirmi perchè viene restituito un errore
1061: Chiamata a un metodo non definito getChildByName mediante un riferimento con tipo statico flash.displayisplayObject. se uso metodi getChildByName annidati?

Quando ho molto codice non vorrei creare migliaia di movieclip "temporanei".

Grazie in anticipo.

******************
Post modificato:

Ho provato a scrivere:
Codice PHP:
trace((padre.getChildByName("figlio") as MovieClip).getChildByName("nipote").name); 
e funziona...vuol dire che il primo getChildByName restituisce un MovieClip e quelli annidati no?

Grazie nuovamente.