Сильно не вникал, но:
Вы сделали обработчик события загрузки loadXML, но почему-то им не пользуетесь. Почему-то вы пытаетесь разобрать полученный XML вне этого обработчика.
Естественно, когда выполняется строка

Код AS1/AS2:
b = a.firstChild.nodeValue;
файл еще не успел загрузится, и
b будет не определена (undefined).
Выполнять разбор нужно внутри функции-обработчика события загрузки.