Sometimes I feel like hotel staff need a bit of prompting, even though the onus should be on them to handle the service recovery.
In this scenario, I would have suggested that if a room of the same category wasn't available, is there a room of a higher or lower category available? Heck I'd accept a base category room if they allowed me to keep both sets of keys.