Sounds like your 19" monitor can not display the same range of resolutions/refresh rates that your laptop screen can.
You could check online to see what the max setting for the monitor is. For example, if the 19" max setting is 1024x768 at 60Hz, But your laptop screen can do 1024x768 at 75Hz, then it could be that when mame switches to 1024x768 (or whatever) it is default to say 70Hz which is beyond your monitor....
The quickest way to get round this is to set a resolution that you know works. you can either do this for all games (by editing mame.ini) or just particular games (by editing eg. mk2.ini). The setting you want to change is -resolution or -r (same thing from the command line).
Try typing mame mk2 -r 800x600 and see if that works (it should).
Your mame.ini probably has resolution set to "auto" which is why its only out of range on some games. The error has arisen (probably) because your system is reporting that x,y,z resolutions are available for use, which all work with your laptop monitor, but unfortunately thoses resolutions are all on the system as "available" even though when you switch to the 19" on x,y are available.
One other thing to try is to look at your display settings when you hook up the monitor - there should be info showing the max available settings for the attached monitor. Modern monitors communicate this to windows (if thats what you are using) automatically, but older ones do not - you may be able to set them manually....