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. 

UK Electronic Designer
USEFUL?
We benefit hugely from resources on the web so we decided we should try and give back some of our knowledge and resources to the community by opening up many of our company’s internal notes and libraries through mini sites like this. We hope you find the site helpful.
Please feel free to comment if you can add help to this page or point out issues and solutions you have found, but please note that we do not provide support on this site. If you need help with a problem please use one of the many online forums.