Games *can* save high scores 2 ways (without the addition of the hiscore support)
1) If the game *HAD* the ability to save high scores if the game was turned off (at the arcade), MAME saves the high scores in the nvram file.
2) Save states. If the game has save state support (and you have this turned on) the high scores are saved this way.
Good point. Just for clarification, I'd say (basically as you said)
"Mame could save a high score in 3 ways:
1) Native to the game. (If original game could, so does mame, the same way the original did.)
2) Save State. (If all the stuff you said)
3) Hiscore.dat hack. (If game is in hiscore.dat, and it's recompiled in, and enabled)"
Of the three, 1) supports the most games, 2) the least. 3) is the most hacky, and 2) the most fragile.
The most important thing, IMO, is hiscore.dat is not the same as "high score support", and at most it's a part of it.