I don't know if this is considered a bug. It's certainly annoying behavior -- or, rather, not what one would expect. But given there is only a single ISR for all KBI pins, I guess the KBI design was meant to work like an OR to a single output but without the actual wiring externally.
In any case, I think you should go this way:
In the ISR read all pins at once and mask out the unused ones. Do whatever debouncing, and put the recognized key code into some queue (or something) for later use by the main code loop.
As you know, keyboards are by nature slow peripherals. Now, if you wanted to use the KBI for grabbing much faster (non-human) events, I think you're a bit out of luck, and you need to reassign your inputs to some other interrupts.
Hope this helps.