There are two separate actions here:
1) Clone the drive
2) Make Windows boot to the new SATA drive controller
There a lot of software for making a drive clone. Most should be able to handle to two different drive controllers (IDE versus SATA).
The bigger problem is going to be how to get Windows to boot from the new drive/controller. Once Windows is set up, it wants to boot from the same drive controller at each boot. Just feeding it a new driver won't force it to change boot controllers.
The EASY way is to permanently change your new SATA controller to IDE Compatibility Mode. Then, you just change your old Windows install to use a generic IDE controller and remove the old controller from Windows. On booting to the new hardware, Windows will see a generic IDE controller and will boot.
A bit more work is to hook up the cloned SATA drive and perform a Windows Repair Install. It takes as long as installing Windows from scratch, and you have to re-do any Service Packs or Updates that were offered after your Windows Install CD was created (or slipstreamed with new Updates). But this method is pretty likely to succeed and offers the chance to use SATA AHCI drivers if you wish. You shouldn't lose your installed applications, configuration, or data. Unless something goes awry, that is.
There's software that will do a bare-metal clone to completely different hardware, but those aren't free. StorageCraft's ShadowProtect Desktop Edition (about $70) will do this. I haven't tested it but their similar ShadowProtect Server Edition seems to do it pretty well.
If anybody has other ways to do this, I'd like to hear about them. I haven't had to do an IDE to SATA migration yet, but I'm sure I'll have to sometime soon.
One thing I'd recommend is to clone the as-is drive to another IDE drive or make an image backup of it, just in case something goes wrong.