I had exactly the same problem. After much hairpulling and googling, I zeroed in on the solution: Change the PRAM battery. That fixed the problem completely.
Well, at least until a year later, after an upgrade to Leopard Server. It's doing it again, and I haven't tested the battery to see if it...