With all the quotes from the manual and datasheet, I thought for sure someone would have seen ...

Quote Originally Posted by PBP Manual: WRITE command
The following DEFINE turns interrupts off and then back on within a
WRITE command. Do not use this DEFINE if interrupts are not used in the
program.

DEFINE WRITE_INT 1
The difference being that it is built-in to the WRITE command.

Interrupts only need to be disabled during the "unlock" sequence written to EECON2 which takes 5 instructions.
@ 4Mhz, that's only 5uS, @ 20Mhz it's 1uS.

By wrapping the WRITE command with GIE=0 / GIE=1, you are disabling interrupts for the full time it takes to complete the WRITE to EEPROM.
@ any OSC, that's 4-6mS.

Many interrupts can be lost in that much time.