System Restore works by doing a couple of things when you tell it to "Restore my computer to an earlier time"
When the restore is done, the system will automatically reboot, and the system should be pretty much as it was when the Restore Point was created.
This design has one potential trouble spot. It's not uncommon for install programs to be downloaded to disk as a monolithic self-extracting .EXE file(e.g. a game demo) or as a dedicated folder containing installation files (e.g. commercial downloads, ala Symantec's "Vbox".)
So if you or the OS create a Restore Point, later download something like this, then use SR to roll the system back to that same Restore point, the download will effectively disappear.
This can obviously be a problem, especially if the setup program is some massive download that will be troublesome to replace. However, there are workarounds. As long as you're aware that this can happen, it's pretty easy to prevent it from impacting your system. There are two general approaches.
SR does not currently allow you to specify files or folders that you do not want monitored. However it has some built in defaults that can be used as a substitute.
One is the My Documents folder. Anything placed there, including in subfolders, will not be effected by a Restore. This is perhaps the most straightforward approach. Create a new folder in My Documents to hold files you want preserved through a Restore. e.g. My Downloads
Many users prefer not having My Documents in its default location on the C: drive. To move it, right click on its Desktop icon, pull up Properties, and use the Move Folder button. This is pretty easy to do and helps with disk management. However there's an added wrinkle with SR. Even though you have moved the folder, SR is NOT AWARE of this. It will continue to assume the old location of My Documents is what it should avoid, and will treat your new folder like any other on the drive. So if you move the folder, you also must re-init SR to make it aware of what's changed on the system. To do so, you need to purge its current settings, then restart it. This is done via the System Applet in Control Panel, like so:
Go to the Performance > File Systems > Troubleshooting tab. Tick the checkbox that says "Disable System Restore", and reboot. This will purge all saved Restore Points and turn SR off. (You may still see files in the normally hidden C:\_Restore folder. These are connected with System File Protection and their presence is normal.)
Go back to System > Performance > File Systems > Troubleshooting. Clear the "Disable System Restore" checkbox, and reboot again. SR will reinitialize itself on startup, an initial Restore Point will be created, and the program will now be in synch with the current location of My Documents.
If you have multiple User Profiles on your system, you should be aware of a variant in the disappearing files issue. MS has this one documented in the KB, The alternative protected folders might be useful for this one.
Those alternatives are some other folders that SR ignores. These should be top level folders, directly off the root of the drive. Useful for a situation like this are TEMP and TMP. These can be located on any drive, and don't necessarily need to be the same as your regular system %TEMP folder. So you can create a folder named TMP on another drive (e.g. E:\TMP) and use it as your default storage location. The name is a little inconvenient, but it works. And that's probably the important thing. In a strange holdover from Win2K, the folder "Documents and Settings" is also protected. So you can use a folder by that name as well, if it makes more sense to you, and you don't have Win2K installed on your system. Another possibility is Downloaded Program Files, in your Windows folder. Since I prefer to keep as little data as possible on my C: drive, this isn't something I use. But it's available.
If you have a single file, you can have SR ignore it by renaming it. SR keys on file extensions when its looking for individual files to backup and restore. If it runs across a file whose extension is not on its internal list, it will ignore it. Knowing this, you can rename a file using a "safe" extension. For instance .BIN, to denote a .BINary file. The downside of this is that you will not be able to launch the file from Explorer by double clicking on it. You will have to rename it back to .EXE first.
.ZIP files are also not monitored by SR. If you have a number of files (e.g. sitting in an installation folder, like that Symantec example above), you can use your favorite ZIP program to archive it for storage. Be aware that some ZIP programs (e.g. Zip Magic) may work by showing Zip files as folders. If this is the case, then SR might still be able to see the individual files, and may erase them. (Not the case with the latest version of ZipMagic 2000, but I don't have an earlier version to check.) If you're unsure whether your program does this, it's worth checking before relying on .ZIP to hide files from SR.
If you found out about this the hard way, after an .EXE file you wanted to keep apparently disappeared, there is one more solution. That's the built in Undo capability of SR. Remember that it saves copies of any files it overwrites or deletes. So you can run SR again, and choose the option to "Undo my last restore." This will roll back all the changes made, and your missing file should show up again. If you originally ran SR in order to get around a "no-boot" situation, this could get you back in to the same problem you were having before. But remember that Safe Mode is always available. You may need to make a couple of trips there in order to get things squared away before using SR as you originally intended.
Here's a listing of more SR notes from the MS KB. Worth a look if you're having problems.