I have managed to get it to boot in Safe Mode by using msconfig, and then selecting Disable Driver Signature... from the F8 menu. From that I managed to work out where the problem possibly lies. This is an extract from ntbootlg.txt from before getting Safe Mode to work but after the problem began:
Loaded driver \SystemRoot\system32\DRIVERS\pciide.sys
Loaded driver \SystemRoot\system32\DRIVERS\amdide64.sys
When booting Safe Mode the loaded drivers stream by and then it freezes at PCIIDE.sys . This is where it crashes when booting normally. After about 30 seconds after it freezes, with Disable Driver Signature Enforcement option selected, the next device is AMDIDE.sys , then AMDIDE64.sys
Could this be where I am having problems, and if so how would I go about fixing it? (According to sigverif.exe amdide.sys has a valid signature)