According to the documentation I can find, GPRMs are supposed to live as long as the disc is in the player. But DVDA's emulator resets them after a Stop command. Is this a bug?
Mind you, I'm totally guessing here -- but I suspect it will vary from one player to the next. Same as some players remember where you were in a movie until you turn off the player, some remember until you eject the disc, and some forget as soon as you stop playback. It's hard for DVDA to emulate what a "real player" does when the manufacturers don't agree themselves.
Add to that the fact that the emulator can't "eject" the disc -- STOP is about as close as it comes. (Though I suppose it could remember the GPRMs until you exit the emulator, but again...see previous paragraph.)
What documentation did you read that say how long GPRMs should live?
For what it's worth, DVD Demystified says, "A potentially serious design limitation is that registers are cleared when control is returned to a title menu. However, this occurs only at initial access when menu_call is executed in stop state or when title play, part of title play, or time play is executed."
I disagree that STOP in the emulator is the best equivalent to EJECT. I think ESC is the proper analog. But your point about manufacturer idiosyncrasies is well taken.
hitting stop triggers an "Exit" command which terminates playback. The DVD navigator will then enter the so-called stop domain and all GPRMs will be set to 0. This is very close to eject.
However, most hardware players (and at least some software players) are able to resume playback from the position at which you have hit stop because they're storing the relevant information (title set, title number, position in the file) in some kind of extra memory but I've not yet seen any storing the GPRMs as well. That has to be taken care of in the pre- and/or post-commands of a title/menu or whatsoever.