Estuve analizando tu ejemplo y tengo el siguiente script, el cual lo estoy adaptando a mi caso:
 
var cadena:String = "";
var news:Number=0;
var separacion:Number=10;
var ancho_Escenario:Number=550;
_root.createEmptyMovieClip("foto",10);
foto._x=226;
foto._y=114;
var agenda_noticias:XML=new XML();
agenda_noticias.ignoreWhite=true;
function parsea(exito:Boolean) {
	if(exito) {
		_root.createEmptyMovieClip("menu",11);
		menu._visible=false;
		nombre.htmlText="<p align=\"center\"><b>"+this.firstChild.nodeName.toU  pperCase()+"</b>: Elija las Noticias en el menú inferior de la pantalla</p>";
			for(var i=0;i<this.firstChild.childNodes.length;i++) {
				//trace(this.firstChild.childNodes[i]);
				for(var j=0;j<this.firstChild.childNodes[i].childNodes.length;j++) {
					menu.attachMovie("nueva_noticia","boton"+news,news  );
					menu["boton"+news].numero.text=news;
					menu["boton"+news]._x=news*(menu["boton"+news].width+separacion);					
					menu["boton"+news].id=this.firstChild.childNodes[i].childNodes[j].attributes.id;
					menu["boton"+news].cabecera=this.firstChild.childNodes[i].childNodes[j].attributes.cabecera;
					menu["boton"+news].url=this.firstChild.childNodes[i].childNodes[j].attributes.url;
					menu["boton"+news].fecha=this.firstChild.childNodes[i].attributes.dia;
					menu["boton"+news].cadena=this.firstChild.childNodes[i].childNodes[j].attributes.cuerpo;
					//trace(menu["boton"+news].cadena);
					menu["boton"+news].onRelease=function() {
						cabecera.htmlText="<p align=\"left\"></b>"+this.fecha+".-</b> "+this.cabecera+"</p>";
						if(this.url !="no") {
							foto.loadMovie(this.url);
						}else{
							foto.loadMovie("no.jpg");
						} 
						var my_fmt:TextFormat = new TextFormat();
						//my_fmt.blockIndent = 20;
						my_fmt.color = 0xFFFFFF;
						my_fmt.font="Verdana";
						my_fmt.italic=false;
						my_fmt.align = "justify";
						//my_fmt.bold=true;
						my_fmt.size=9;						 
						_root.createTextField("miTexto",12,103,218,350,130  );
						miTexto.multiline=true;
						miTexto.wordWrap = true;
						miTexto.condenseWhite = true;
						miTexto.text= this.cadena;
						miTexto.html=true;
						miTexto.selectable=true;
						miTexto.borderColor=0x666666;
						miTexto.border= true;
						miTexto.setTextFormat(my_fmt); 
						if(miTexto.length>300){
							_root.createClassObject(mx.controls.UIScrollBar,"m  iScroll",this.getNextHighestDepth());
							miScroll.setScrollTarget(miTexto);
							miScroll.setSize(10, miTexto._height);
							miScroll.move(miTexto._x + miTexto._width, miTexto._y);
						}						 
					};
					news++;
				}
			}
			menu._x=(ancho_Escenario/2)-(menu._width/2);
			menu._y=350;
			menu._visible=true;
	}else{
		nombre.htmlText="<p align=\"center\"><b>Error al cargar los datos</b></p>";
	}
}
agenda_noticias.onLoad = parsea;
agenda_noticias.load("datos.xml"); 
Todo funciona bien hasta el scroll, pero solo me muestra el último botón y no el primero. Si elimino la segunda noticia del XML aparece el boton 1, aquí estoy medio perdido.
