So I recently switched to a new desktop PC, the Dell Studio XPS 8100 and added some components of my old PC (SSD, HDD, ODD, GPU). Since I still had a Win7/Win8 dual boot on my SSD I decided to give both OSs a try after the PC was set up. Win7 didn't boot: it showed a BSOD. I assumed this was because of the motherboard switch; this issue seems to be rather common. Suprisingly, Win8 did work. In fact, it worked flawlessly and I was able to install programs and browse the web.
Then, I decided to delete the Win8 partition and clean install Win7. This is where things go for the worse... The clean install goes fine until the very end, when I see 'Preparing desktop' screen. Windows then reboots and is subsequently stuck on the 'Starting Windows' screen. Safe mode doesn't work either: it loads all the drivers but then just gets stuck. When I try to repair Windows I get to see a never ending progress bar. The low resolution boot doesn't work either.
I've run Chkdsk and Memtest86+, and both returned zero errors. I've also tried unplugging each HD except the SSD and installing Win7 again, switching between RAID/ATA mode, settings the BIOS to default, checking that I've the latest BIOS (I have) and changing the boot order. There are probably some other things that I've tried...
Thanks for all your replies! It seems smorizio is closest to the solution that I found a few hours ago.
I was using the tool EasyBCD, that offers an option to rewrite the Win7 bootloader to the MBR. To my surprise, I was now able to boot Windows 7. Like smorizio, I believed that this was because of the old Win8 install that'd left some nasty bits behind.
Here's the strange thing: After I got it to work, I decided to boot Parted Magic and secure erase the whole SSD. I was expecting I could now directly boot Win7 after a clean install, without any fix. Strangely, it still didn't boot. So although the problem is solved, it feels a bit unsatisfying to know that I need to apply a fix everytime...
I did find out later on that this specific operation fixes the problem: