да, правильно поняли, именно attach'у. Если подробнее, то у меня в библиотеке хранятся пустой 1_mc и 2_mc, в котором уже вложен text_mc, и на text_mc уже наложена анимация.
при trace (_root.1_mc) выдает _level0.object (вроде, так. В общем, флеш его видит и возвращает значение объекта)
trace (_root.1_mc.2_mc) - аналогично.
а вот при попытке обнаружить text_mc
trace (_root.1_mc.2_mc.text_mc) возвращает undefined
так же ничего не дает и "сканирование" через trace (_root.1_mc.2_mc.getInstanceAtDepth(n)), n пробовал от 0 до 3, дальше уже смысла не видел
наверное, сразу надо было код выложить

Код AS1/AS2:
my_xml.onLoad = function(loaded):Void{
if(loaded){
//при удачной загрузке .xml цепляю на форму все мувики
//первый
attachMovie("cell","cell1",getNextHighestDepth());
cell1._x=5;//выравниваю его положение на сцене
cell1._y=5;
//делаю основу для картинки
cell1.createEmptyMovieClip("bg_img",0);
cell1.bg_img.createEmptyMovieClip("bg",0);
cell1.attachMovie("move1","mask1",1);//move1 - это анимация, служащая маской
//гружу картинку фона
loadMovie(my_xml.firstChild.firstChild.firstChild.firstChild.nodeValue,cell1.bg_img.bg);
//задаю внутреннюю маску
cell1.bg_img.setMask(cell1.mask1);
//цепляю и задаю основную маску
attachMovie("mask1","mask1",getNextHighestDepth());//mask1 - это маска на весь ролик cell1
mask1._x=cell1._x;
mask1._y=cell1._y;
cell1.setMask(mask1);
//цепляю мувики с текстом
cell1.attachMovie("text1","text1",2);//при этом, ролик text1 хранится в библиотеке УЖЕ со вложенным в него роликом textbody, который, собственно, заанимирован
//назначаю реакцию на мышь
cell1.mask1.ison = false;
cell1.mask1.onRollOver = function(){
this.ison=true;
this.play();
}
cell1.mask1.onRollOut = function(){
this.ison=false;
this.play();
}
}
};