Nothing busted here. Windows does not move from drive to drive like you are trying to do.
However I have had some luck by cloning the old drive to the new drive (yes, from IDE to SATA) but here's the trick. The motherboard had the new IDE EMULATION feature that let the drive on SATA 0 (zero) appear as if it was on the IDE MASTER Channel 0.
I will not write further about that. It's advanced and if you don't catch up then I can't teach this in 3 paragraphs.
-> Again. Windows doesn't move well. Always be prepared for a fresh install.
I'm running Windows XP and want to migrate to another hard drive. I used the excellent open source utility CloneZilla to clone my hard drive to the new drive, and used the equally excellent EASEUS Partition Master to resize the cloned partition to fill the new drive.
Next I edited boot.ini on my original Windows to add the cloned drive as another boot option. After a bit of trial and error guessing the disk path for boot.ini I was able to dual boot into the original or the clone.
Now I want to boot off the new drive directly without dual booting off the original drive as I intend to wipe the old drive after I am satisfied that everything is working OK. But here's the catch: the original drive is SATA, while the new drive is IDE. So I can't simply swap the cables around and be done with it.
So I configured the boot sequence in the bios to use "HDD-0" instead of "SCSI" (for some reason this old BIOS thinks SATA is SCSI) and restart. The system gets as far as detecting the boot source (floppy first, then CD-ROM) and then stops. No "operating system not found" or any other kind of error, just a blinking cursor and no activity.
I get exactly the same behavior using "HDD-1" to "HDD-3" as the boot drive in the bios. The bios detects the drive itself OK. I have also edited boot.ini on the new drive to point to the same location I used to add it to the dual boot menu on the original drive, but that didn't help.
I also booted off the Windows installer, went into Recovery mode and ran Fixmbr and Fixboot with the original SATA drive unplugged and without specifying a device name. This seemed to complete OK but also didn't help.