I have a radio that did this -for a while-. Factory 10 pin RJ50 cable, real Motorola RIB with new 9v battery, but a home made programming cable.
I tried using an "official" Moto programming cable, and it still happened. I'd have to pull the radio out of the truck, reassemble, as Steve said, program and then reinstall.
A while later, I tried again without taking it out, and it worked fine. No idea what changed, it just started working.
One thing you can do is to use the 20 pin connector on the back of the radio. Motorola has a cable for doing this: AARKN4083A
That should allow you to program without taking the radio apart. You can brew your own using this diagram:
http://www.batlabs.com/images/cdmprog.gif If my radio ever stops programming, I'll make one of these guys and give it a try. Already have the parts…..