Do you use program, e.g. eraser or ccleaner which write null file to System32 directory? I am guessssssing that since these null files are operating pre-boot environment, Vista is not handling it well causing driver conflict + slowing down the Volume Shadow Copy which entertains the System Restore functionality, I think.

Try deleting such null files and see if it solves the problem.