How is this possible? Frustrations with i2c, interrupts and sleep

I agree. When working on an Arduino platform, I used the statements nointerrupts() & interrupts() for control. Before and after an attachInterrupt() statement:

  detachInterrupt(); // stop LOW level interrupt on designated PIN
  ...
  nointerrupts();    // make sure we don't get interrupted before we sleep
  attachInterrupt(); // wake up on low level interrupt on designated PIN
  interrupts();      // interrupts allowed now, next instruction WILL be executed
  goToSleep();       // here the device is put to sleep before any interrupt occurs

I knew all interrupts had been dealt with. Without the implementation of those two statements I need to manually, in code, deal with any late comer interrupts generated by the execution of attachInterrupt().

Here is an interesting link & quote from Nick Gammon about dealing with interrupts before going into sleep mode:
https://gammon.com.au/interrupts

Something to be aware of is that these flags can be set before you attach the interrupt handler. For example, it is possible for a rising or falling level interrupt on pin D2 to be "flagged", and then as soon as you do an attachInterrupt the interrupt immediately fires, even if the event occurred an hour ago. To avoid this you can manually clear the flag.

2 Likes