ok, kick this around and see what happens:
http://www.waste.org/~winkles/ROMLister/RomLister006b.zipI'm up for more tweaks to it before I release it officially.
There's one caveat that GG alluded to earlier in this thread that I ended up bumping into:
I only added the main categories from catver.ini (puzzle, maze, fighting, etc) and then also added mature to the list. Those that are familiar with catver know that it lists things like "puzzle / mature" and "driving / top down" etc. I only added the stuff before the slash in the list, otherwise there would be way too many categories to chose from and no one would be able to get all of the driving games or all of the mature games in one search.
As GG said, you really should add "category>Sports" to the -find window, otherwise you could get matches from elsewhere in the game's data field. The problem is that "mature" is always listed as a sub-category, so "category>mature" doesn't find anything.
So, you may get a few extra ROMs in your list, if for any reason, one of the names of a category is somehow used in the game's name, or perhaps driver information, or some other odd location.
I'd suspect that the chances of that are pretty low though.
Oh, and just one correction:
Green Giant said:
"Caps do matter so double check your entries."
AFAIK, the stuff in the -find field is not case sensitive. The only time I check for case (and even this is pretty stupid) is in the Search button to locate a single game's XML info. If you do find a place where case is used, let me know and I'll get rid of that immediately.
Otherwise, you're spot on with everything, and thank you so much for understanding the tool well enough to describe how it works better than I can.

-jeff!