I wouldn't know what to tell you. They don't error out, it's just the parsers choke or enver finish ect.
Let me guess VB6 custom written parsers? heh dosn't suprise me. If you coded in .NET System.Xml.XmlTextReader would make things alot more easier for you.

I think the abandonment of the listinfo format (regardless of how horribly flawed it is) is a mistake.
The xml format is very simple and easy to understand, the xml parsers available aren't though.
A very bad mistake for breaking legacy support, I agree, but sometimes you have to go with the new and let go of the old. I know it's a ---smurf---, but it's the way the IT industry will always go. Part of being in this industry is keeping up with standards and keeping your skills up to date. This is the case for homebrew developers as well as professionals.
The registry was never supposed to be used as much as it has been for applications on Windows and .NET has dropped native support of reading & writing ini files because they are moving towards XML. It's a format that is being adopted everywhere.
The list output is supposed to be for fe develpers right? Then why in the world is the xml format used? Aaron has to remember, most fe programmers are just hobbists. We shouldn't have to learn a whole new language just to interface with mame. Xml is exteremelly difficult to parse with some of the older languages, even with tools (msxml, sax, whatever). After looking at my choices that work with vb6 I am rather dis-heartened. The official m$ stuff is so convoluted with all of it's classes and sub-classes that it takes knowledge of sql-like queries necessary even for looking up something as simple as a sub tag. Most of the parsers I tried simply can't load the entire listxml output which is essential as front-ends need to load all the data and convert it to whatever type of list file they use. The ones that did work took an hour to load it. And I'm not exaggerating, I mean a whole hour.
I would recommend looking at some XML parsing code written in C++ and compiled to a DLL that can be accessed through the LoadLibrary API or however else your access a library in VB6. The thing is, as one would expect string parsing functions in VB6 are slow as hell, your really need something written in C++ to get some decent parsing speed.
You comments on hobbiest coders mostly coding in old languages is a little off. Alot of people are moving to .NET, but I agree it is a mistake to take it out for the sake of it.
Your efforts trying to fix xml2info are appreciated, but the real solution (as it'll be hard to keep up a converter not officially in mame) is to get everyone off this xml kick and have mame output a real format. What's wrong with ini files? The ini format is easy to parse both manually and with help. It's ascii too, the only difference is the lack of sub-nodes which aren't really needed in mame anyway. Also it is rather small compared to xml.
Yeah, the ini file format is being phased out by M$ so I guess it's important for coders to keep up with the times. Vista's XAML is an important part of that OS and will be used to separate the UI to the program code. It's a powerful language for something like that.
Xml is meant for tiny little storage files, not huge databases like mame generates.
Good point, it should be an SQL database file, not data generated by Mame.exe on the fly. And even VB6 can read Access databases using ODBC. So that would be the ideal solution. If the authors sincerely wanted to keep up with the times, then they would put this information into a database.
I suggest another solution; a program written in .NET using it's native XML parsing support to read the XML data generated from Mame.exe and output it to an SQL database. Then re-write your applications to read the database.
EDIT: Hmm it seems the Microsoft Access application can import XML directly.