Download Crapcleaner from http://www.ccleaner.com/download/builds.aspx, choose the bottom one, it's smallest. Install and run it. It's likely to find several hundreds of Mb of trash to delete on first run on standard settings.
To free more space, temporarily at least, disable Hibernation - Control Panel > Power Options? or via the Display settings (I'm on Vista and can't remember the exact details).
I wonder whether it is a corrupt Swapfile that is causing this? Can you check the size of your Virtual Memory/Page File - call up Task Manager (rt-click an empty area of the taskbar) and click on the Performance tab. The size of this can be changed by using Windows key + Pause Break > Advanced tab > Performance Settings > Advanced > Virtual Memory Change - it should be 1.5x your installed memory by default - I usually set it for a minimum of 1024Mb, more for certain workstations and gaming machines.
Run a disk check, Windows may be misreporting the size of the free space (unlikely with XP or 2k). You can do this from the properties of your hard drive > Tools tab > Error checking Check now.