I think most has already been answered above, anyway...
1) Can i get the older games to output the correct resolutions? Should I move to SuperResolutions or should I leave well alone and be happy with 'almost perfect'?
GM is already using perfect resolutions for those games, not almost perfect. This has been explained hundreds of times: 224p-logical inside 240p-physical is the same as 224p-physical, borders will need to be added either way. PCBs did. So we just don't waste space in the mode table. Similar goes for MK, here VMMaker rounds the height to the nearest multiple, to keep the mode list reasonable. You can configure it for 1 line granularity if you like. GM just picks these modes because it understands how video timings work and knows there's no quality penalty. It is the only software out there that is capable of this. GM never does fractional stretching unless it's the only reasonable option.
2) Is there anything I can do about the higher resolution games flickering on my CRT? I expect I'm going to have to drop them but it would be a real shame. Why does JammaPlay say Rival Schools and Street Fighter EX2P should run at 255 x 255 but GroovyMAME thinks differently?
If you want to disable interlaced modes go into mame.ini and disable the interlace option, that's all. GM will then pick the best available mode from your progressive ones.
Get used to the fact that many games switch resolutions during game play. No information about resolutions on the internet is reliable because of this. GM knows what resolution is being requested by the emulated hardware at any time, so you can trust it.
Constant resolution switching on some emulated systems can slow down emulation dramatically, due to inefficient mode setting routines in today's video drivers and OSes. In those cases you can force a static resolution, usually the one used during the game itself rather than its initialization, etc.