Windows will automatically redirect it to D:\Stuff, and everything will just work as if it were in C:\Program. When you relaunch the program, it will try to access its directory at C:\Program.
You could move the original directory from C:\Program to D:\Stuff, and then create a symbolic link at C:\Program pointing to D:\Stuff. You'd really like to store this directory at D:\Stuff, but the program requires that its files be at C:\Program. For example, let's say you have a program that needs its files at C:\Program.