All video outputs have some blank lines. It's required for the CRT to have time to steer the vertical deflection signal back up to the top once it's hit the bottom (this is the "vertical sync time". It also leaves some room around the edges of the picture since geometry tends to get sketchy around the edges (this is the "vertical blanking interval"). There's also some blank time at the beginning and end of each line surrounding horizontal sync (these are the "porches"). So yes, the Neo-Geo outputs some blank lines. It probably has a total of ~280 lines, but I'm sure someone will quote me the exact number. Most video hardware has this as a programmable number.
The Neo-Geo you mention would have about 29 blank lines total. Some are at the top; some are at the bottom, and some are used for refresh. That's not unreasonable at all. NTSC has more.
As for your noticing that you get the exact same timings as NTSC, there's a reason for that. I don't remember if VGA has EXACTLY 525 lines, so I just pulled the number for NTSC out of my butt

. However, it's somewhere close to there. VGA was originally based upon NTSC with the interlace removed. ATSC 480p is the same way. There are some subtle differences, but they're all pretty close.
As for the buzzing effect, it has to do with the fact that only half the screen (every other line) is refreshed at a time. Hence, there are two decay cycles on the phosphors happening out of sync with each other. This causes it to look like it's "jittering" up and down a little bit and also gives some people nausea or a headache since the flicker rate of each of those cycles is a low 30Hz (well, 29.97 for color NTSC since they fudged the numbers to make color work).
I'm sure there's plenty of reading out there. I've been tempted to make a condensed guide some time, including sample HDL code for a simple video controller you can put on an FPGA or similar (heck, they'll fit on some larger CPLDs - it's only a few registers, some counters, and some comparators to generate all the signals). Just add framebuffer RAM and a DAC of some sort. Basically, there's no real magic. It only takes a few numbers to fully define a video signal in terms of timings: progressive/interlace, frame/field rate, lines per frame/field, blank lines top/bottom, vertical sync width, horizontal front/back porch, and horizontal sync width. Everything else can be calculated from those.
If you have a CGA only monitor, then 640x480 HAS to be interlaced to get it down to 15kHz. If you can do VGA, then you can do progressive at 31.5kHz.