Jomac is the man, but I'm not. TBH i have no idea if using the chassis on the limits stresses it more than hitting right on the sweet spot, or if changing frequencies inside the range affects it - in the thread i linked Jomac does talk about the fact that these chassis were designed for a fixed frequency, but he also uses the term "safe range". Either way it is important to note that VMM and ArcadeOSD in actual use will let modelines slip just past the limits, so if you did want to use the full "safe range" you'd be best setting the range line slightly inside that - say 15.55 to 15.9 - but also checking each the scanrate of modeline before and after adjustment to make sure it's not going outside the range. You can see the scanrate in the list in ArcadeOSD before switching modes.
You can export all your modelines from VMM, and keep any files you've altered like monitor.ini, but you do not export a range line from VMM as such. (Oh wait, that's what updating the mame.exe does? I'd forgotten that, so credit to Zeb there
That will make cutting and pasting irrelevant, but it might not hurt to double check it's all been ported over correctly)
If you're going to create a custom range preset and use it in VMM, just grab that and dump it into mame.ini as crt_range0.
If the modelines need further adjusting, do that in AracdeOSD and go again, or if you're happy, grab the timings from the 320x240@60p mode from ArcadeOSD, and dump those into mame.ini (GrrovyMAME mostly uses 240p modes or close to, or anyway this is a good starting point). ArcadeOSD is outdated, so i'm not sure if simply copying the modeline directly from there will work, it might be in a different format. It should look like one of the range lines from the monitor.ini file, in this case the specific one you created.
Vertical is trickier. You cannot adjust things the same way as horizontally. But again, it would be easiest to simply copy your custom preset into the mame.ini file.
Multiple range lines are for multiple frequency bands. There are unusual use cases for specific games, but mostly these are used to cover dual- or tri-sync monitors - like some of the Nanao MS9 versions, or WG ones. A dual-sync chassis can run at both 15khZ or 31kHz, but not anything in between. So you have two range lines, one for each band.
I think the MS8's were dual-sync, but i have zero hands-on experience, so you'll have to look into that for yourself. I believe it's only the 15kHz band that has the funny range limits, and the 31kHz band is normal, but again i'll stress that i don't actually know anything. The thread i linked to before might say something about that.
If you were using only the 15kHz range of this monitor, as the lowest and only range, you would only need to enter the crt_range0, and leave the others blank. If you wished to add The 31kHz band it would go into the next available slot - crt_range1.
Take a look at some of the dual-sync or tri-sync monitor ranges in the monitor.ini file for examples.
3) You may want to consider using ATOM-15 to flash the BIOS of your video card, so that it will output 640x480i at 15khz during boot.
And sorry Zeb, but you will NOT be able to trust Atom15 (with 15kHz-only settings) with this monitor to boot windows. The video card's BIOS will be ok, but Windows still does funny things as it loads and may go outside the 15kHz range limits. If it does, this chassis will not survive that in the long term. Using it for 31kHz might work, subject to concerns further above because i have no idea about 31kHz on this chassis.
The monitor must be left off until windows has fully loaded - unless it really is multisync, and you can lock it to 640x480, but even then as it transitions you just don't know what it's going to do. You could put the computer on a scope, but who knows what it's going to do day to day? I wouldn't trust Windows further than i could throw it, in that regard.
Keep in mind all this advice is solely to protect the MS8. I've never confirmed any other monitor is limited the same way, though there are rumours about pre-1980 TV's