8-bit MCU has invalid calibration data (0) when connecting to a PICkit™ 3
"Target Detected. The target has invalid calibration data (0)."
The device you are testing has the MOLVW instruction erased.
The last memory location expected in MPLAB® X IDE is a MOVLW instruction. At reset, earlier 8-bit PIC®s start executing at address (-1). A MOVLW instruction is inserted at this address to the factory measured oscillator calibration value into W-reg to begin recording the calibration data.
Try reading the device before programming. Take note of the instruction in the last memory location of the device and then program the part with your code, ensuring that last memory location stays as a MOVLW instruction. The PICkit™ 3 standalone GUI allows you to manually set the OSCAL (MOVLW).