Coming out of my fiddling with Alabaster is an extension for multiple-ending games. Designed for Glulx only (because it uses external files), it keeps track of all the endings the player has found and allows him to review them with an ENDINGS command during the final question.
I’ve occasionally kicked around the idea of a similar extension for games that rely on a fixed set of randomized starting parameters (like the “When in Rome” games, or “Act of Murder”). The idea would be that an external file would record which starting parameters the player had already solved and avoid giving him the same scenario again before he had worked through all of the options. But it is hard to come up with a general syntax for this. Hrm.