The way I got around this is to make a copy of the HAL.inf (HALMP.inf) and remove the reboot commands. The problem is that inf is unsigned. At the time of install I have my driver signing policy set to Ignore. I have used this method for over a year with several XPSP2 builds without issue.
Regards