I wrote a program that would move roms around based on controls used, and a bunch of other features (number of players, screen rotation, age, ect). But it used the database that my frontend uses. I asked if anyone thought they would use it (because then instead of using the database, I would just parse the -listxml file directly and have it as a standalone program... nobody seemed interested.
Anyway, I like it a lot and use it to seperate the roms for each of my control panels. Makes it easy to setup my frontend.