I use links (junctions) extensively on my machine (probably 8-10 exist at this time). I run FirstDefence-ISR and have my machine in a frozen state. That means that when I reboot, everything reverts to that frozen state. Installed programs disappear, registry settings vanish, and program configuration changes are undone. Some programs, such as my broswer, have settings that I want to retain after rebooting. Many times, I can tell the program to store its config info on a second partition that is not frozen. Some programs, however, don't have that option. I use links to get around that.
Let me illustrate with a made up program:
I have a program called Browser. Browser does not let me change where it stores its bookmarks, cookies, history, saved passwords, etc. It saves everything in Local Settings under Documents and Settings\My Username in a folder called Browserconfig. Every time I reboot my computer, all of those things I just mentioned are gone. What I can do, is exit Browser, move the entire Browserconfig folder to my D drive, and then create a ntfs link in Documents and Settings\My Username\Local Settings. That link will look like Browserconfig to Browser, and all of my settings will be saved there, but they are actually being saved to my D drive. I then freeze the system with that ntfs link in place, and my problem is solved.
Oh, and I use sysinternal's junction program to create links.
http://www.microsoft.com/technet/sysinternals/FileAndDisk/Junction.mspx