Alright sorry for the bump, but letting other users know that you might not have to go through registry edits to achieve this. I have a Asus P6T mobo so it's not an MSI, but this should definitely work for MSI boards as they probably use intel chip sets too. (this process isn't chipset specific anyway, so it shouldn't matter what chipset you have)
Just today I decided to update windows to AHCI drivers and enabled AHCI in BIOS. I did this WITHOUT touching the registry! Here's what I did:
PRIOR to enabling AHCI, I updated the drivers to both my SATA controllers. (they show up as IDE controllers when they are in IDE mode). First off, do NOT touch the Primary/Secondary channel drivers. Those are not the right ones as they are just child devices under the controller and will be updated automatically when you update the controller drivers. It's the controllers you need to update.
I simply made the AHCI driver disk (you can also just put the drivers in a folder somewhere if you don't have a floppy drive) and then went into device manager and updated both my IDE controllers to the AHCI drivers on my disk that match my chipset. Here is detailed instructions with screenshots showing how to do this. Be sure you install THE CORRECT drivers for your controller chipset. The only difference you should spot is that the new drivers will have AHCI in their names instead of the IDE/PATA/ATA in their name. Windows will warn you that they might not "match" your current hardware but just ignore it. Once you restart and enable AHCI, they'll match then so that dialog is irrelevant. :D
First find your first controller in Device Manager and right click and go to "Update Driver":
Then click the install from specific location option and click next:
Then click the don't search and install from specific location option then click next:
In the next dialog, immediately click the Have Disk button and this should come up. Click browse and point it to the location you have the drivers at. If it's on a floppy like they should be, then just click ok since it defaults to the floppy:
You will be returned to the dialog that had the have disk option. This time you must uncheck the show compatible hardware check box so that it will show all the drivers your AHCI driver location has. Then select the MATCHING driver for your chipset. Get this wrong and your in for some serious trouble after reboot:
After that, click next and it should be smooth sailing after that. It will likely warn you about that driver not matching your hardware. Just tell it to install anyway. After that, repeat this for your secondary controller (if it asks you to reboot on the first one, say no since you still have to do the secondary one). Once you repeated the above for your secondary controller, then click yes to reboot when it asks you. If you have more then 2 controllers, you can deal with them after reboot. It's only the primary/secondarys we are worried about as those are the ones that your OS boots from.
When you reboot, enable AHCI in your bios then boot up Windows. For me it booted up and it worked! It then reinstalled new drivers for the "channel" drivers and other things and asked to reboot again. So I rebooted after that and after that it was done. Viola! AHCI enabled OS AFTER you had installed windows in IDE mode!
This might even work for Vista/Win7 users and it's much the same process as WinXP. This should be the first thing you try BEFORE you start fiddling around with your registry. Plus this is mostly universal. You can do this with any possible chipset you might have as this process isn't chipset specific. Please note in the screenshots, I had already updated to AHCI but I did exactly what I did above and achieved what the original guide in this thread did. Except this time it's less complicated and less prone to error.