After writing this code I read that the Arduino can only wake up from sleep modes (except for idle) by a low voltage condition. So why does this code appear to work? Is the interrupt blocking the sleep or something? In any case, it does seem to halt execution at sleep_mode().
This behaves as I would expect, it beeps when the PIR sensor goes high on pin 2.
I don't have any of those references, just the chip datasheet.
My reading of it is that in power-down mode, the wake-up sources are:
INT0, INT1 (level only) and pin-change interrupts.
TWI address match
WDT