RE: Cerb Bee not keeping time?!?

We’ve been using the Cerb Bee for a while now without problems. Today someone who was assembling a new unit called me over. Apparently this one particular board wouldn’t keep time. So I took a look at it. The first thing I noticed was that it had a 16GB SD Card instead of the 2GB SD Cards we use. Odd but unimportant, this 16GB SD Card had a green back where normally they’re black. At any rate, I replaced the crystal and coin cell twice. I’ve triple checked all the wiring. Normally we use an app I wrote to deploy our firmware and code, but in this case I manually erased and deployed firmware using MFDeploy directly. Still not keeping time. It sets the time just fine, but then I reboot and it’s lost. Any ideas? Could this be a defective unit? What else should I check?

I’m running a simple test app on it now. First I run this program…

if (GHI.OSHW.Hardware.RTC.GetTime().Year == 1980)
{
GHI.OSHW.Hardware.RTC.Initialize();
}

GHI.OSHW.Hardware.RTC.SetTime(new DateTime(2013, 1, 1, 1, 1, 1, 1));
Utility.SetLocalTime(GHI.OSHW.Hardware.RTC.GetTime());

And view DateTime.Now, then I remove power, re-attach it and run this code…

if (GHI.OSHW.Hardware.RTC.GetTime().Year == 1980)
{
GHI.OSHW.Hardware.RTC.Initialize();
}

Utility.SetLocalTime(GHI.OSHW.Hardware.RTC.GetTime());

And my date is always back to 1980. This is running the same firmware my working boards have. I’ve replaced the crystal and battery three times now.

…And I had 3.3v on pin 1 on the processor for vbat.

I’m returning this board. We’ve bought a lot of these, this is the only board with this problem. I have no idea what could cause it, but I’m convinced it’s bad.