Pick up where you left off before a reboot with Cache My Work
Cache My Work was created to tackle the task of restoring your windows following a restart. Launch the app and a list of your cacheable programs is displayed - you also have the option of re-opening all your open Explorer windows. Check off what you want restored, click save, and reboot.
Once Windows is up and running again, Cache My Work's preparations make your programs reappear. It's a simple but effective little app - all it really does is zap a few lines into your registry under the Windows\CurrentVersion\RunOnce key.
You'll still need to re-open your files -- except, of course, in apps like Firefox where you have the option to restore your previous session automatically.
While the project hasn't seen an update in just over a year, it still works nicely - even on WIndows 7 (both 32 and 64-bit builds).