OK, because I was receiving PM from people who encounter similar problems, let me describe the troubleshooting we did.
Conclusion so far: ISP throttling peer-to-peer traffic
Why: It works and then stops working on what appears to be a monthly cycle
Troubleshooting:
Server-side firewall rules -- checked (just in case) if required ports ports are open both ways. Made sure that ports required for VPN were open PLUS the ports required for specific services were open (and not translated to any specific network address, because this is only for PPTP which will assign you an local IP).
Client firewall rules -- unlikely, but some older modems/routers come with rules that block VPN traffic.
PPTP log -- asked coworker to send me his PPP log file and saw the persistent errors that indicated lots of dropped packages, either because of bad network, or slow speed, or bad encryption, or wrong package size or... something not letting the packages go through.
ISP throttling peer-to-peer traffic? -- his ISP said "no". But ISPs can filter out peer-to-peer traffic and throttle it while downloading movies from the big guys still works. The client ISP bumped up his speeds to 50mbps to troubleshoot the issue, but it didn't help.
Different ISP -- Teamwork over VPN worked over a different ISP without problems, at least initially, which confirmed that our configuration was OK.
Small files vs big files -- tested if big files can be transferred using ways other than Teamwork (over SSH or VPN). They could not, in our case, while at the same time coworker could create new Teamwork projects from scratch over the same connection.
Data packages too big, causing timeouts? -- Tested a number of different MTU size settings on our router and on client hardware, safe default is between 1400-1500 but there are many custom settings flying around. The Ping tool can be tested with various package sizes, and you can ask your coworker to ping back to your server/router to see what is the MTU limit. But everything seemed OK.
At this point I gave up and blamed coworker's ISP.
2-3 weeks later, that same coworker came back to report that Teamwork WAS working over VPN, no config changes on our side. 2-3 weeks later he came back again to report that Teamwork WASN'T working again.
So, I still blame his ISP. YMMV.