There's always OpenVPN which has clients for quite a few OS's. :-)
See:
http://openvpn.net/
"OpenVPN runs on:
Linux, Windows 2000/XP and higher, OpenBSD, FreeBSD, NetBSD, Mac OS X,
and Solaris. An OpenVPN PocketPC port
<http://www.ziggurat29.com/OVPNPPCAlpha/OVPNPPCAlpha.htm> is under
development."
I was about to say the same. A Linux or *BSD box would do all this.
Nowhere in your list to you say push button installation etc.
Certianly a cheap rack mount server running a free OS would be the
most flexible and easiest to replace/upgrade later too.