OK after all that I have a problem: a number of games don't run with artwork_resolution = 2 set on my cabinet whereas they did on my development machine.
For example p47 or pbobble2 gives me a totally blank (black) screen even though I hear the game running in the background.
MAME tries to run the game at 1280x960 (twice the original resolution of 640x480), which in theory is supported by the monitor in my cabinet (the manual says up to 1280x1024), in fact I can set my desktop to resolution but somehow when running MAME the screen is just black.
Of course the CPMaker display looks terrible at 640x480 
Replacing the monitor is not a solution at this time, so what can I do?
You might try creating an ini for those games with the following line:
resolution 1024x768
Or you could set artres to 0 in those games.
what will arters 0 do exactly?
I can play p47 from the command line by doing mamepp p47 -resolution 1280x1024 -artres 2
So it looks like it's the vertical resolution of 1024 is OK whereas 960 caused problem???
Is there a disadvantage to *always* specifying -resolution 1280x1024? (by changing it in the ini file)
-hwstrech is supported by my hardware and there is no performance issuethat I'm aware of (XP2400+ and GeForce4 Ti-4800, whcih is overkill for just about every game). I can't seem to see anything wrong with the few games I tried and it seems easier than changing the resolution on a per-game basis.
I also thought about changing the resolution when pressing the pause key to display the panel, but I thought there might have been a technical reson for not doing it (other than the monitor flickering on res change).