DK(0) is used for three rather different functions:
1. To hold the number zero. 2. To initialize slots of new nodes. 3. To represent rescinded keys.
There is no architectural reason you couldn't use two or three distinguishable keys for these functions.
But it is necessary for a rescinded key to return a message just like any other key. Consider the model in which a single server process implements several "objects" distinguished by the data byte of start keys. To make it look like some, but not all, "objects" have been rescinded, the server has to emulate a rescinded key. (Granted, the keys to rescinded objects will be distinguishable from DK(0) by Discrim, but you should avoid using Discrim.)
Another example: Process A invokes a start key to process B. B gets the resume key. B is part of a complex of processes that, in a race with A, decide to shut down. To resolve the race, B has to act like a rescinded key to the resume key before committing suicide..
Given this, I don't see a lot of value in distinguishing rescinded keys.
Bill asks about using distinguishable keys for different types of rescinded keys. Again I don't see value in this, but offhand I don't see a problem either.