May I piggyback on this thread since I'm having the same Hal.dll issue? (perhaps it's the same...)
Little background info real quick,
I'm a computer repair tech of a few years experience, I own my own business that's fairly busy (3-7 computers per day) and do mostly virus repair, hardware upgrades and data/disaster recovery as well as on-site networking.
So, with that out of the way, I had a customer bring me her XP computer yesterday. It was experiencing the missing or corrupt hal.dll error and wouldn't boot into Windows at all.
I've dealt with this before, so I tried the normal steps, but kept getting hung up on a couple different parts that always worked before. This is when I started searching and found your video on youtube, then followed you here for some advice.
Here's her quick spex:
XP Home (32bit) - no idea on the SP, as I can't get into it at all)
512MB PC-133
Pentium4 1.7GHz
(etc.)
Now, I've already made a complete image of the entire HDD so that I've got backup of everything for the worst-case scenario of having to reinstall XP from scratch.
I have tried a repair install when all else failed (see below), but apparently someone in this computer's past, in all their experience and glory, installed Windows on a second partition (177GB) D drive, and left bits and pieces on their 13GB C drive. Don't ask why, as I have NO idea.

- So, repair install sees the correct previous XP install, but leaves me with no Repair function...only clean install.
So to be clear, Windows is installed on the D drive, along with their Documents and Settings, Program Files and some downloads, and their C drive has the ntldr, boot.ini, msdos, etc. (in several years, I've not seen an install quite like this one!)
OK, so I've followed the youtube vid to the letter (which is a good visual representation of the normal steps I've used to fix this same error in the past. Good job!) - expanding hal.dl_ from the CD worked fine, but then, I kept getting an error after running the attrib command line that "the parameter isn't valid"...until I added the
-a command like this:
attrib -r-a-s-h c:\boot.ini (no spaces in between)
...apparently the install on this computer requires the -a command for some reason.
After getting that to work, the next step was to rebuild the boot.ini, which WILL NOT work.
I've done this at least a dozen other times on other rigs, but this XP install won't take it.
bootcfg /rebuild ends up hanging for several minutes (8 or so) and then dumps this error:
"Failed to successfully scan disks for Windows installations.
This error may be caused by a corrupt file system, which would prevent Bootcfg from successfully scanning.
Use chkdsk to detect any disk errors." - (yeah, ya think??!!! isn't this why I got to here in the first place?!!)
I've tried using chkdsk /r on both C and D drives, but that didn't work.
I've tried using sfc /scannow, but that didn't work.
So, loading up BartPE, I created a new boot.ini, but that still wouldn't allow me to boot into Windows, so back into BartPE, brought up the boot.bak (I renamed the original rather than deleted it), made sure that the parameters were correct, but it still didn't work.
I've tried using ERD System Restore to restore the system back to the day before it started the hal.dll error, and that didn't work.
And it's beginning to look like the only option is to bite my lip and install XP from scratch since there's no repair option available when I get there.
I really don't want to have to resort to the format/reinstall/reinstall backed up data for this, as I've already invested a day into something that usually wouldn't take more than an hour, and starting them over from scratch and reinstalling everything that I backed up (to image) would take another whole day.
So, any ideas?