I don't see that Disk Cleanup is the problem, but perhaps the experts here can say otherwise.
There seems to be a lot of advice available to fix this. If you type "< windows root >; \ system32\hal.dll" (without the speech marks, and remove the space between the ; and the /), you will get a number of articles about this error.
For instance, I got this from;
http://www.nocrash.com/ncbbs/msgs/162.shtml
It says;
"<windows root> \system32\hal.dll is missing or corrupt
The solution to this problem is quite simple. I had the same problem myself and thought I would end up having to reinstall XP. I checked a couple of websites to no avail but eventually came accross one with the solution. I don't have the link to the site but here's the solution.
You first need your windows XP disk.
Insert the XP disk into the machine and turn it on. A message will appear asking you to press any key to boot to the XP CD. Press any key and the machine will boot to the CD. When the setup screen loads choose the option to repair the windows installation by pressing R. It will then ask you what drive (the drive windows XP is installed on)you want to go to. Choose whichever drive this is...C,D or E, etc.
It will then ask you for and administor password. Generally this is blank so just hit return but if you created an administrator password when you first installed windows then use that one.
You will be then brought to the dos prompt of the drive windows XP is installed on. Lets say for arguments sake the drive windows is installed on here is C and the CD drive is D
So you will see C:\>
At this prompt type the following copy D:\i386\ha.dl_ C:\windows\system32\hal.dll
So it should appear on the screen as
C:\>copy D:\i386\ha.dl_ C:\windows\system32\hal.dll
Hit return and it will then ask you if you want to overwrite the file hal.dll if its there, type Y and hit return. It will then say ! file copied.
When this is done simply reboot your computer and it should boot up normally.
It worked for me perfectly. "
Mark
Has this happened to anyone else : I thought I would do my pc a good deed and run "disk cleanup" It sure seemed like a good idea to me . But when I tried to restart , I got the message: " < windows root >
system32\hal.dll " is missing or corrupt ; windows cannot start. Please reinstall file " . But since windows wouldn't start I couldn't reinstall anything . I had to bring it back to the shop ,where it still is . Now this is not the first time this has happened ; It happened a few months ago on another PC also running WindowsXP. Is there some kind of virus out there that is released when you run "disk cleanup" ? Or is "clean up" itself something we should all avoid ? Both pc's had AMD 3.8 gig

Chowhound
Comic Vine
GameFAQs
GameSpot
Giant Bomb
TechRepublic