PIC - Problem in NEC IR Decoding in PIC12F675
The PIC12F675 requires four oscillator cycles for each instruction cycle.  This means that while running at 4 MHZ, your instruction cycle is 1 uSec per instruction.  Look at the disassembly listing from your compiler to see how many instructions your while loop must execute and I think you will see that you are introducing and additional 20-25 uSec to your delay depending on where you exit the while loop.

You could run the PIC12F675 faster, or switch to an interrupt-driven design, or setup and read a counter to give you the correct timing.  Good luck!