Esta indefinido, porque antes de cargar el archivo de texto se ejecuta primero
trace(playlist[0]);
y en esas miliesimas de segundo el archivo .txt aun no esta cargado, entonces sino esta cargado el array esta vacio y por eso muestra indefinido, primero debes checar que el array esta cargado y despues haces los traces que quieras, si tu ejemplo esta correcto deberia funcionar asi:
Cita: var playlist:Array = new Array();
var lv:LoadVars = new LoadVars();
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
player.attachVideo(ns);
lv.load("playlist.txt");
lv.onLoad = function(exito:Boolean) {
if (exito) {
playlist = this.videos.split(",");
ns.play("videos/"+playlist[0]);
}
};