I note that the BBC are using a div (with id=main-content) which is in fact wrapped around the main content, not an otherwise unused, empty and hidden span that comes just before the main content, as a result it indicates both the start and the end of the main-content and allows the main content to by styled with padding, margins etc and be used to specify further items within it (e.g. a link within the content might be treated differently from one in the header or footer). That is, as far as I'm aware, the standard way to do it, though whether the Moodle way has any benefits compared with that I'm not sure. Certainly it has the drawback of not being immediately clear in its purpose to someone working on a theme.
If it was up to me I'd combine the two functions into a single div, like the BBC has.
Also, regarding the word "hack", I didn't mean it disrespectfully, just that whenever you find something odd in an old HTML codebase, the reason it's there is 9 times out of 10 because IE6 wouldn't work correctly unless you did it like that, even if it doesn't make any logical sense. I thought it might have been the case here too because there wasn't any other immediately obvious reason for it to be there.
It seems the Moodle.org theme hides the span completely by setting height: 0px, presumably because someone ended up with an extra pixel of padding at the top of the .region content that they couldn't get rid of otherwise. I was wary of changing the height of this because generally, when something is set to 1px height rather than 0px, there's something that goes wrong when you change that last pixel. If it's been tested widely and found to work then maybe that change could be moved to the base theme?