To avoid the "issue with frequency on some games like MK etc", you have to match your monitor presets to your CRT's capabilities. It is actually an issue with your CRT, not with Groovymame.
Most consumer TVs in Australia can handle modes around 50hz (PAL) and 60hz (NTSC), but are not good with modes in the middle of that range (typically around 53-57hz). Games like MK, R-type, Flying Shark, many others use such modes. Every TV is a little different.
There is nothing to address this in the stock crt_ranges provided in the default monitor.ini that comes with VMMaker. The default generic 15khz monitor presets simply give a vertical frequency range from 50-60hz, and fail to block-out any middle range, so Groovymame just does what it is meant to and assumes your CRT TV is capable of everything in-between 50-60hz.
What I do to address this is to use TWO crt_range values in my monitor preset! crt_range0 is for roughly 50hz modes, and crt_range1 for roughly 60hz modes. For example:
Monitor 'Loewe', 'Loewe Calida 100hz', '4:3'
crt_range0 15500-16250, 49.50-53.50, 2.500, 4.700, 6.900, 0.064, 0.192, 0.024, 0, 0, 192, 288, 448, 576
crt_range1 15500-16250, 54.50-62.00, 2.500, 4.700, 6.900, 0.064, 0.192, 0.024, 0, 0, 192, 248, 448, 480
The above preset effectively blocks out vertical frequencies between 53.50 - 54.50hz, which covers the black-spot for my Loewe 100hz CRT TV. If a game's native vertical frequency is in these ranges, Groovymame will do the best it can and automatically adjust to compensate. Every TV is different! If you copy these values then, at the very least, you'll have to adjust the vertical frequency range limits (in italics) to suit your TV.
Note the numbers in bold near the end - these relate to the maximum number of vertical lines each crt_range can handle (progressive and interlaced). If a mode requires up to 248p/480i lines then it uses crt_range1. If a mode requires more lines (up to 288p/576i), then it uses crt_range0.
Follow Calamity's guides. Produce some logs!