The calibraton data is stored as a "movlw xx" instruction in the final memory address and xx is the calibration value. The error is telling you the programmer found something other than that instruction there.
The safest way to preserve it is to read it before programming, if I'm prototyping with small batches of PICs I write the value under the package with a marker pen in case of accidents! If the value is lost completely, the Pickit 2 has a utility to recreate it and most programming software will offer to read it before programming and then write it back so it keeps it's value.
In a worst case scenario where you can't recalibrate it, add an instruction "movlw 0" at the final address, it will set the device to mid-range value which is usually not far off correct.
Brian.