Might sound stupid. Is there something in the startup sequence setting clock?
Try booting with no startup, then assign ENV RAM and loadwb, endcli. See if time is correct then.
After a lot of frustrating evenings over this problem, after a lots of measurings and testings I finally found something interesting. I removed ide drive and booted machine from floppy. And guess what, RTC is working like new. It's holding time and all. But if I install hard drive (no matter is it real IDE or CF card with adapter) it become lost again on a bootup. Soo, is it possible that IDE circuit is messing somehow with RTC?