Ns.Play and runtime-built MC menu issue

I built an XML-driven video playlist using the ns.play() method. I use a for{} loop to build a list of buttons for each video, and the XML parsing works wonderfully, but when I click on the buttons, it returns a value of “undefined” to ns.play() and the next video won’t start playing. (However, my code to begin playing the first video does work) I changed ns.play() to trace() and, curiously, the SWF returns the correct names of all my videos before clicking on any of the buttons (i.e. the onRelease event handler is ignored). Has anyone had this or a similar problem? Or might any of you AS ninjas help me with a workaround?

vlist.onLoad = function() {
    var videos:Array = this.firstChild.childNodes;
    for (i=0; i<videos.length;i++) {
        var t = container.attachMovie("mc","mc"+i,i+1);
//attach thumbnail to each video button
        myMCL.loadClip(videos*.attributes.link+".jpg",t.mcContain);
//fill dynamic textboxes for each video button
        t.mcName.text = videos*.attributes.title;
        t.mcDesc.text = videos*.attributes.desc;
//place buttons in menu
        t._x = 5;
        t._y = 5+(i*48);
//begin playing each video onRelease - this won't work
**          t.onRelease = function() {
              ns.play(videos*.attributes.link+".flv");**
        }
    }
//automatically start playing first video - this works
    ns.play(videos[0].attributes.link+".flv");
}
vlist.load("video.xml");