Windows VPN is certainly cheap, in fact its free. Any server from 2000 onwards has the feature in Routing & Remote Access as standard and even NT Server can have it installed as an additional service. Once the feature has been set up just forward port 1723 to the Lan IP of the sever from your router and users will be able to dial in, get a local IP and use the Lan services as if they were at the actual location.
If you don't have a server a workstation (XP Pro etc) can also be set as a VPN server but it will only accept two connections at any one time, depending on many users and how often they use it this might be OK. Another option, although I haven't checked this my self would be home server, its pretty cheap now and I am told it also has Routing & Remote Access, although I don't know how many connections it can accept.
The other option is to have a router with IPSec routing. My experience with both Linksys and Netgear routers is that it works fine for users who say dial in from a lap top, use the service and disconnect but if you want permanent links they tend to drop the connection and require rebooting the router.
I currently have five remote servers (Windows 2003) dialed into a central server (Windows 2003) using PPTP and that works fine. I reboot the rooter automatically at the central point at 5.30am to reset all the connection and they stay up all day, very very rare any of the servers are off line as long as the actual internet connections at each point are up.
What I have generally found is any network interruption, a brief drop of the internet connection causes IPSec links to fail and stay failed were as using PPTP in windows they are able to recover a connection within a few seconds without anyone really noticing they went off line.