It's undefined because when that trace is called, it hasn't been loaded yet.
You're setting the event listener to wait until the XML file is loaded, then creating an XML object with the data that was loaded. You're declaring the function for the event to call, but then you immediately trace the xmlData that hasn't loaded yet.
loade=new URLLoader(new URLRequest("playlist.xml"));
var framesUntilLoad:int = 0;
xmlData = new XML(e.target.data);
if(xmlData != null)
trace("Frames passed before xmlData was loaded: ", framesUntilLoad);