Hello Catflavor:
I've had a few very strange symptoms related to hibernate mode over the years, except on laptops. Hibernate is a great idea, but poorly executed by Microsoft. The laptop vendors seem to pay special attention to this MS O/S feature and do more compatibility testing, often providing their special integrated versions of power options and control. Desktop mobo vendors don't have/can't spend the time to do this much testing, instead relying on MS ... but MS can't anticipate the huge selection of hardware combinations ... you get the idea.
Best advice on desktops is to stay away from hibernate.
But in the interest of trying to debug your issue a bit further:
1] After a return from hibernate try using the "repair" function in your network settings (easiest way to get to it is to double-click on the LAN icon (two side-by-side computer monitors in the system tray), choose the "Support" tab, and click "Repair"). I think the hibernate messes up the NIC (and the drivers that control it and the suspended network operations).
2] If your desktop uses DHCP ( I don't ... I use fixed IP addresses ) hibernate may cause even more confusion. When it resumes it's lost its place in your network.
3] Your page file and hibernate file setup may contribute to the problem. One of the early things I always do on a new WinXP install is to
a] disable page file;
b] disable hibernate (in Control Panel/PowerOptions);
c] reboot;
d] defrag (several times using the Windows built-in function; or only once with better 3rd party tools that result in better compression);
e] set page file to the SAME Initial
AND Maximum size (explanation below);
f] enable hibernation; and then just for fun to prove the point,
g] defrag again resulting in two large green blocks (unmovable files, one each for Paging, the other for Hibernation). For page file size I choose 1.5x or 2x RAM using a proper 1,024 byte multiple (1GB RAM = 1,536MB or 2,048MB page file).
Reasons for initial=maximum page file size: If you don't do this, as the page file grows beyond its initial size, it is *automatically*
guaranteed to be fragmented. I have no proof of the following, it's just a hunch, but when your system comes out of hibernation (which restores the hibernation file from disk back to RAM (and if that file is also fragmented ... who knows what bugs MS has in the code) then the restored RAM may have lost track of the paging file data. And since many prefetch data is in there ... (Ignore the explanation if this is all too technical ... but follow my
a]-g] procedure above anyway.)
Post back any results/improvements you see ... I'm curious.

Georg