CRT TVs are not actually fixed at 240p. Maybe if set for NTSC only, but honestly have never seen that in a TV made later than early 80's.
I may need to backtrack slightly from this comment - it might be that some TVs sold in the US market were setup as NTSC only. Outside of the US TVs seem to mostly support both PAL and NTSC.
I had a look through your service mode pdf - did not see anything specific about NTSC/PAL settings, so not sure.
From what you described, it sounds like you have blanking lines set in the service mode. You could try playing with the *BLK settings (page 18, HBLK, LBLK, RBLK, VBLK), which may have some effect on this. Also HBLS on page 22.
On page 23 there are various H & V "FREERUN" settings, like HFUP (H FREERUN FREQUENCY UP), HFFR (FORCE FREERUN), BFRE (FORCE V FREERUN), and VF50 (FORCE V FREERUN 50hz) which might free your sync up. There are also various other V & H sync settings worth looking at.
You will have to have a look and experiment.
Regarding monitor presets - sometimes I find it works better if I use multiple sets of CRT_range values, such as:
monitor "ChinaTV1", "China TV - 50/60 Hz", "4:3"
crt_range0 15625.00-15734.26, 49.50-55.00, 1.500, 4.700, 5.800, 0.191, 0.191, 1.056, 0, 0, 192, 288, 448, 576
crt_range1 15625.00-15734.26, 55.01-62.00, 1.500, 4.700, 4.700, 0.191, 0.191, 1.056, 0, 0, 192, 248, 448, 480
With this setup, CRTEMU will generate video modes based on "crt_range1" for modes up to 248 lines. If a mode needs more lines, then it uses "crt_range0". This will allow you to tweak the settings for "NTSC" vs "PAL" modes separately.
The bolded numbers are the maximum vertical lines each crt_range allows (progressive/interlaced).
The italic numbers I may tweak for a given TV, because they often they have problems with middle frequencies e.g. 52 to 58hz). This allows me to keep the modes close to 50hz and 60hz, while rejecting modes the TV has problems with.
You could also play around with the front/back porch settings for both horizontal and sync.
Hope this helps.