A few more things to add:
The main differences between Windows Safe Mode and normal mode are:
1) hardware drivers: In safe mode, the only drivers are loaded the ones needed for basic functioning, like keyboard, mouse, video, etc.
2) operating system services: As with the drivers, there's a limited number of services started -- just the ones necessary to perform basic functions.
Aside: In Win2000 and XP (but not in 95, 98, or ME; I'm not sure about NT), the registry lists which drivers and services start in safe mode. You can edit this list to alter how safe mode works. For example, the serial port driver is normally not loaded, but you can add it if you want. Look for "Safeboot" in the registry.
3) startup programs: These can be just about anything, from anti-virus programs to actual viruses. Sometimes these programs have an associated icon in the system tray (near the clock), and sometimes they just run unseen in the background.
Aside: Problems turning the computer OFF are often related to startup programs. If you crash, hang, or get blue screens at shutdown, it could very well be a startup program that's causing it.
The MSCONFIG program mentioned above is a great way to control which services and startup programs run in Normal Mode. You can't control the hardware drivers with msconfig.
MSCONFIG comes with Windows 98, ME, and XP, but not with 95, NT, or 2000. With 95, NT, and 2000, you have to go into the registry to control some of the startup items. HOWEVER, you can use the XP version of msconfig in Win2000. It's a small file, so it can easily be emailed or put on a floppy and brought to your Win2000 computer. It's located in the "System32" folder, which is in the Windows (or "WINNT") folder.
-------
As far as this particular problem goes (normal mode starts okay after a safe mode session, but not after another normal mode session) , my guess is that it's related to a regular software program, possibly one of the startup programs.
Explanation: Whenever you turn the computer OFF, the programs that are running do a little cleanup, etc., and sometimes they get themselves ready for the next startup. So, if you can start in normal mode after safe mode, that says that there is nothing inherently wrong with the STARTUP procedure. So, it must be that something happens AFTER you start the computer, and the thing hangs around and causes a problem later.
The problem could be just about any program that runs once the computer is on. It could be a program you deliberately start or one that runs automatically at some point (like a startup program).
To find out which, start in normal mode and then restart immediately in normal mode without doing anything else. If it starts up okay, the problem is probably due to a program you start deliberately. In that case, start one of your usual programs, and see if a reboot works. Keep doing this until you isolate the culprit.
If it's not a program you start deliberately, follow the advice given in an earlier post and use MSCONFIG to see if the problem is a startup program. (For detailed advice on using msconfig, go to the Microsoft site and search for "msconfig".) If it is a startup program, you're all set. If it's not, continue using MSCONFIG but concentrate on the services instead of the startup programs.
If that doesn't help, you have a very unusual problem, and I don't know how to help.