I have a hex file to program a PIC24FJ256GB110 which I do with an ICD3 the revision code it returns from an older board is 00003 from the newer board 00004. This implies the silicon has changed. The code works in the 00003 board but not the 00004 board, as I am now fault finding the boards could this be a reason?
The usual place to find the difference between silicon revisions is the errata sheet. For example the following document seems to cover that device:
It appears 03h was the code for revision A5 and the code 04h indicates revision A6. However unless I've missed something looking through that I can't see any known issues addressed or introduced with A6 that are different to A5.
Presumably though something was changed and it certainly could be your problem. It might be worth asking Microchip what was changed between revisions, I've found them helpful and responsive in the past even if you're a low-volume customer.