Issue:
Trying to debug or program using a ICD3 with MPLAB X gives this error:
Target detected
Unable to connect to the target device.
Cause
ICD3 has previously been used with MPLAB IPE V3.xx and you are now using IPE or MPLABX V2.xx
We discovered this after using IPE V3.35 and then using MPLABX & IPE V2.15. Solution was to use MPLAB IPE V3.35 to program the device at which point it picked up that the ICD3 had previously been used to program a PIC18 and needed its firmware updating to now be used with the PIC32 we we're programming. So seems V3 is storing some marker in the ICD3 that V2 doesn't understand
Microchip support response
MPLABX IDE v2.15 -> Project properties -> "ICD3" -> "Option categories" -> "Firmware" -> uncheck "Use Latest Firmware" -> I selected the .jam file -> then program the device with IDE. After this it worked also with IPE v2.15.
See if "Use Latest Firmware" is checked. This usually make MPLAB X to update the ICD3 firmware with the right software for the MPLAB X version used. As I described above, it can be updated manually. If the ICD3 is not loaded with the software corresponding to MPLAB X v2.15 when going back from MPLAB X v3.35 it is possible that there may be some backwards incompatibility that may cause problems.