hal.dll is a crucial file; it is the Hardware Abstraction Layer which allows Windows to communicate with the hardware in your system. This being non-existent or corrupt is quite obviously contributing to your blue screening issues.
The reason you cannot simply replace the file is that your drive is formatted as NTFS (the Windows XP default), and NTFS employs low-level permissions which means things cannot always be modified even whilst Windows is not running (in your case, running your Linux Live CD).
I was going to suggest a simple Repair Install of Windows, but this is not always an ideal solution as it can, in some situations, be more trouble than it is worth. Here is a link I found on Google which may offer you some other things to try first: http://pcsupport.about.com/od/findby...singhaldll.htm