I use UltraVNC SC or UltraVNC 1.0.5.3 and DynDNS
If I need to reboot the PC into Safe Mode, I just go onsite. There are boot CDs, certain applications I use, things that I can't really do remotely, so onsite is better in that case.
Otherwise.....
If it's a one-time client/one-time job, I use UltraVNC SC.
If it is an ongoing client with a maintenance contract, then I:
1) Go onsite, setup UltraVNC 1.0.5.3 on all PCs (including an encryption key)
2) Setup a DynDNS account and the client software for it on one PC.
3) Configure their router with Port Forwarding, MAC, Remote Access.
I've used CrossLoop, LogMeIn, etc, but I find this way to work best for me. Both CrossLoop and LogMeIn rely on a relay service, which I don't want to use.