First you need to accept that you are NOT going to find a decent solution to run vertical games on your horizontal monitor. Everything is going to be a compromise so you'll be forced to choose between bad and worse. That said, GM is trying to benefit from the multisync capabilities of your monitor in order to show all games using integer scaling and correct refresh. For 288 lines that's only possible in the 25 kHz range. By choosing 320p, GM is assuming that you're willing to adjust v-size pot to remove the borders if required. However, you can tweak your ranges in order to tell GM that this particular compromise is not acceptable. You can do it this way (in mame.ini):
crt_range0 15625-16200, 49.50-65.00, 2.000, 4.700, 8.000, 0.064, 0.192, 1.024, 0, 0, 192, 288, 448, 576
crt_range1 24960-24960, 49.50-65.00, 0.800, 4.000, 3.200, 0.080, 0.200, 1.000, 0, 0, 384, 400, 768, 800
crt_range2 31400-31500, 49.50-65.00, 0.940, 3.770, 1.890, 0.349, 0.064, 1.017, 0, 0, 448, 480, 0, 0
This will force 288p into the first range. Now you'll notice Pacman/Galaga will be in progressive mode, but will show the same issue you're seeing with Commando (vertical overscan).
Again, GM is assuming you're going to correct the overscan by means of the v-size potentiometer. If you don't want to do that either, then you need to tell GM about that, by forbidding 256p up to 288p. You can do it this way:
crt_range0 15625-16200, 49.50-65.00, 2.000, 4.700, 8.000, 0.064, 0.192, 1.024, 0, 0, 192, 248, 448, 496
crt_range1 24960-24960, 49.50-65.00, 0.800, 4.000, 3.200, 0.080, 0.200, 1.000, 0, 0, 384, 400, 768, 800
crt_range2 31400-31500, 49.50-65.00, 0.940, 3.770, 1.890, 0.349, 0.064, 1.017, 0, 0, 448, 480, 0, 0
This will force anything above 248p to pass through the upper ranges (25/31kHz) and apply fractional scaling, possibly interlaced too depending on the case, but will most likely achieve the correct refresh. It won't look authentic but it'll be playable.
So basically it's up to you. I can't know beforehand what users are going to prefer, that's why GM is flexible enough to do whatever you need, it's not a hardwired design, if you take the time to understand how it works.