If your clock is not advancing the time and you have checked everything physical, try a different firmware!
I was going nuts with my clock - it would work on some power cycles but not others. I had installed a customized firmware that allowed drift correction. I went through all the hardware fault possibilities - no luck. WHY U NO WORK!?!
I was getting down to "throw it out and move on with life" when I gave it one last chance and tried flashing the "official" firmware on the github site. Now it works!
Whatever the custom firmware is doing it's not happy with a dead or missing battery.
Thanks Adafruit!

