I say "reinstall Windows" as honest advice. It's the easiet way to fix Windows problems, and sometimes it's the only way. If your Registry gets messed up or clogged up, you're screwed, and any old program in the world has full access to your Registry. If something in your startup sequence gets messed up, you're screwed, because you'll never know what's wrong, because Windows displays a big blue shiny graphic instead of saying what it's doing when it boots. If some of your system files get corrupted, you're screwed, because Windows has "wizards", and wizards do what they do and choke when something goes wrong, and hand-fixing device drivers or Windows DLLs is far beyond the capability of everyone I know. Windows doesn't give you enough information to fix most problems. When something just stops working seemingly at random, you have no way of fixing it short of telepathy or blind luck.

Reinstalling Windows takes less than an hour, and if you do it right (backing up your home directories and saved/custom info from Program Files) you lose nothing. Backup, manually delete Program Files and whatnot, reinstall Windows, then reinstall all the programs you use to have, and there you go. It puts Windows back to a fully-working non-messed-up state (as close as Windows gets to one). It's just not worth the trouble looking for solutions to a lot of Windows problems, because a vast amount of them are NOT fixable. I worked at a lab with hundreds of Windows machines, and when anything went wrong with any of them, they stuck in a CD, wiped the hard drive and put a fresh image on it.

So, reinstall Windows.