I would use the ISR attached to the Status Register instead of the Debouner. Then it will fire on input signals changing status only.
I thought of that, but then you would get an interrupt, read the status register which would clear the register, exit the interrupt, the next rising edge of the bus clock would again alter the status register and you would get another interrupt - so on and so on until the debounce signal went low.
One other thought would be to leave it as Figure 13 in AN60024 with the status register sticky bits and when you get the interrupt you read the status register (basically clearing the register) - wait a small amount of time for the next bus clock rising edge, and then read the status register again which should give you the actual state of the inputs to the status register. Seems a but clunky to me, but I guess it beats sampling the switches in code.
Again, it is odd to me that this has not come up earlier - so I was thinking I must be doing something incorrect.