Whilst testing this - I found that most of my remote controls use NEC format (5 out of a 'random' selection of 5). Reading NEC format didn't take much change to my existing code - so for anyone who needs it - an NEC format IR code reader... Note that I use the 'state machine' from the RC5 code - and this is actually a simpler system, but I didn't rename the states to reflect this.
This should run on anything - with the proviso that the clock is accurate (1s flash test is compulsory for PIC

The NEC IR 'transmitter' sends 32 bits but, usually, the second and fourth bytes are the inverse of the first and third (as an error check) - however in some cases it is used as 16 bits command and address. There is a comment in the code - if you need to alter this. (I don't check for errors - but I use 8 bit data)
Repeated data (button held down) is indicated by the 'repeat' flag being set to true (ReadIRData returns true for new or repeat data)
It is currently set to expect a 'pulse' to pull data pin low, infrared detector is connected to a data pin (reversing this is straightforward)
At present - main 'busy' waits for the data pin to go low. I'd envision the MCU being in a sleep mode and waking on an pin-change interrupt - however this will vary depending on application.
Ben/Martin - would you like as/like to convert to a component?
Martin