In Windows XP Professional with Service Pack 2, there are many problems with hibernation. Here are two that I have been able to fix.
If you have not been able to hibernate your computer after upgrading your RAM:
In Windows, there is a file on your hard drive, usually in the main root directory of the C drive, called hiberfil.sys. A brief explanation of hibernation: When you have programs open on your computer, and you can see them on your screen, some the data from them is stored in something called RAM. This stands for Random Access Memory, and is often insizes of 1-2GB. When you hibernate your computer, it takes all the data from the RAM and stores it on your hard drive. It puts it into the hiberfil.sys file. Thus, to be able to fit as much data as your ram, the hiberfil must be the same size as your RAM. My computer came with 1GB of RAM and had a 1GB hiberfil. I recently upgraded my RAM to 1.5GB but the problem was the hiberfil was still 1GB. To aviod this confusion, my computer decided to disable hibernation all together.
I am warning you right now that this solution may have been (probably was?) a fluke. But if it works, great. We are going to use command prompt here - the windows text-based user interface. To open command prompt, go to Start >> Run and type in "cmd". Up Pops a black window. Now, on the line where the cursor is, read the first letter. If it isn't "C", type "C:" and hit enter. Now it should be "C". To explore around your computer in command prompt, use the command "cd" this stands for Change Directory. To go up one level. Type "cd..". To go up two levels type "cd..\..". To go up three levels type "cd..\..\.." and so on. Cd around until you are in the root directory of the C drive. In other words, when the only thing on the line with the cursor is C:\>, you are ready. Now type "Ls". This command sometimes takes a while so be patient. it will display a list of all the stuff you have on your C drive. Check to see if there is a file called "hiberfil.sys". Here's where the fluke comes in. Type "hiberfil.sys". It should tell you that the file is already being used. The idea is to shock your computer into realizing that there is a hiberfil and make it use it. Now close command prompt, go to Start >> Control Panel >> Power Options >> Hibernate Tab. Set your desired settings and you are ready to go.
Windows System Error: "Insufficient Resources to Complete the API":
This one was really annoying. Occasionally, when trying to hibernate my computer, it would begin to hibernate, and then stop and tell me "Insufficient System Resources Exist to Complete the API". From then on, it wouldnt hibernate until I restarted my computer. This is actually a windows bug. When there is more than 1GB of "stuff" in RAM, it would not be able to hibernate. Good job, Microsoft.
Fortunately, the solution is easy. Windows has released a patch that fixes the problem. Just follow the instructions on this download page.
Remember that if hibernation works, it is a great way to save power and battery life. Your battery has a limited number of charge/discharge cycles, so not discharging your battery is a good idea. Use hibernation often.