What I have done is use CPWizard to generate control panel layouts that get displayed during game pause.
The way it works is you layout your CP in the design view, then you can generate png's/zip's for each game that highlights (usually) labels the buttons specific to the game overlayed on your cp. Overall it works really well.
There are a few ways to run CPWizard, you can have it generate them on the fly and display them dynamically with CP Wizard running all of the time, or you can do what I did and use their source patch and compile a custom build of mame (I also compiled a few other patches in at the same time) to just show the CP on pause.
There are various options on what you can display, game info, etc. I went with just the CP as I like to keep things simple.
If you choose to keep CPWizard in resident mode, it can also show a lot more information and has it's own menu to navigate. That seemed like overkill to me.