hey we solved the issue.

As it turns out, other dynamic sites running on our domain were setting the TZ environment variable for threads that served their code to an erroneous value. For whatever reason, the environment variable persisted and affected php scripts served from the same thread as well, producing the random offset we were seeing.

Thanks for all your help.

Yes, but they're only very small mods for cosmetics, nothing that could have affected timestamps or anything like that.

Also, we've tried restarting apache  thinking it may have been different threads caching some old data or something (who knows) but that doesn't seem to have been the problem. The search continues :-/

Well, it's physically our server. As in, we own the hardware, host it on-site, and thus have root/physical access. We haven't noticed any problems like this with other components of our site, yet there are few things it can be other than the server.

Any ideas still heartily appreciated.

The subject basically sums it up. All times on a page, including post times, last visit times, etc, seem to flip flop between the correct time (as a user would set in their timezone option) and some other time offset by a couple hours. It's aparently random, every time a page is loaded, the times are one or the other. The quickest way to notice it is to reload a page a bunch of times.

Anyhow, I suspect it's something server-side, but I was wondering if anyone had any better idea of what's going on.

Thanks in advance.