Yes, the program I referenced (RL) does use mame's xml output. So it does suffer from the 'errors', but will allow more advanced sorting (which I what I thought you were mainly interested in...)
If someone would/could write a small app that would take the controls.ini data and "fix" the mame xml output, then you could run 'correct' data through RL and that would be the better than what is currently available. I'm not a (computer) programmer, but it seems doable... I suppose that could be done by hand, but that would be a big job.
Rick