Windows does seem to shut down all the TCP connections on hibernation, so you need to overcome its stupidity by tunneling your session over a connectionless protocol, such as UDP. Just pick any of countless VPNs that can do this.
Edit: There is another solution: have a Linux in VMware, and ssh from it to your server. But it works only with VMware network adapter option set to "bridged". If you use "NAT", the connection will be dropped by the Windows host.
I have merged the solutions above and have set up an OpenVPN tunnel between my Windows XP host and Linux guest. Now I can use PuTTY to connect to my Linux host, and ssh anywhere from there - and no connection is dropped when I hibernate the machine. One important thing to remember when using OpenVPN is to change "Media Status" option of TAP-Win32 Adapter - the default is "Application Controlled", and it needs to be "Always Connected". Whole setup is a bit tricky, but a few hours I spent on finding out how to do it should be worth it - no more "Network error: Software caused connection abort", yay.
Edit2: The above can be simplified a bit, it isn't necessary to set up a VPN, we just need a VMware with two interfaces: one set to "bridged", and one set to "host-only". Connect to the Linux guest using host-only interface and then ssh outside using bridged interface. Works as expected.