The diagram is how I understood the system to work. According to the diagram an edge on any interrupt enabled pin of the port at any time will set the latch (or it remains set if already set). So how can an edge occur at a pin but the latch is not set after the edge occurs? It can't.
But my assumption that PTBIF was never set may be wrong. Perhaps this is also what you are thinking? Two interrupt edges (pin 1 and then pin 2) both occur before PTBIF is cleared in response to the interrupt request created by pin 1, but my interrupt handler has already tested pin 2 before the second pin 2 interrupt edge arrived. Hence, the interrupt from pin 1 is processed, but the interrupt from pin 2 is not processed (and therefore the pin 2 source is not cleared leaving pin 2 low indefinitely). That fits what I see. When I halt the debugger pin 2 is low, PTBIF is not set (appears that the pin 2 interrupt was missed), and the pin 2 interrupt routine was not executed.
So this may be a silly logical error in my interrupt handler, which is a little complex because I use 21 Port A, Port B, and Port D interrupt pins.