Could also be simply corrupted registry entries. Check your registry size (ie c:\windows\system.dat and c:\windows\user.dat, they are hidden system files, so set your explore to show these files). If they take up 10 Mb or more together, you'd probably have installed alot of stuff, coz newly installed systems have about a 2-3 Mb resgistry. Check if you still have disk space left for the registry to expand. Maybe a reinstallation of windows from scratch would be easier.
If that's not feasible,there's the very time consuming and tedious method. Start regedit, export your entire registry to a reg file, say c:\abc.reg. Now backup the system.dat and user.dat files, this is important in case things screw up. Reboot the system and press F8 to get into "safe mode command prompt".
Type "regedit /c c:\abc.reg" to recreate the registry from your exported file. Reboot system. If it works, great, if not, go back to Safe mode command prompt and replace the system.dat and user.dat with your backup.
The reason why this works is that sometimes, parts of the registry can't be read. When regedit exports the registry, it doesn't export the parts it can't read, so the newly created registry doesn't contain any corrupted entries. Certain vital keys will be regenerated automatically if they are missing when windows starts. So if these are the corrupted parts (most of the time they are, since these are the keys that are accessed most heavily), you have a perfectly working system back. Otherwise, you can restore your backed up registry and it'll be back to where you started.
Good Luck!
If you want to know more about what regedit does, go to here http://support.microsoft.com/default.aspx?scid=kb;en-us;q131352