I have been doing this trick this week with windows seven and
intel ich8 controller.
It is NOT so easy as described in the O.P.

The situation was like this.
The BIOS was configured for RAID0, that uses the iaStorV (mind the V in that!) service and device driver.
Windows 7 was installed using this driver. Then we wanted to switch back to AHCI.
Doing that only in the BIOS causes the well known BSOD. Why? There was a simple answer for that (after spending some time figuring it out)
When switching the mode in the BIOS the board switches to a different device, so a different pnp DEV_ID. Windows never liked that on the main storage level. Always BSOD.
step one: you need to know the pnp id for the new storage controller. In my case it was
PCI\VEN_8086&DEV_1C03&CC_0106. This is both supported by the builtin
Microsoft AHCI driver, but also by the
intel iaStor service/device driver (mind it is without the V here!)
Also you need to know the class id (is in the msahci.inf or iaStorAHCI.inf file)
This is in this case
{4d36e96a-e325-11ce-bfc1-08002be10318} which is the "IDE ATA/ATAPI controllers" class.
You can check
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}
Now you can get it to work.
This one is so critical. When not done properly you get BSOD.
Open the registry and goto
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase
Now create a new KEY with the proper pnp id in this format
pci#ven_8086&dev_1c03&cc_0106
Add this STRING value called
ClassGUID with
{4D36E96A-E325-11CE-BFC1-08002BE10318}
Make sure that the AHCI service is started during boot time. Goto HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci and set Start to 0 (at boot time)
Now reboot and go into the BIOS to switch the controller mode from whatever to AHCI.
Save your BIOS settings and reboot.
Now the AHCI driver will find the new controller and asks you to reboot again. If you have an intel controller I advise you to install the iaStor driver at this point (you must download it at the intel download center)
Go into device management now and find the new controller at the "IDE ATA/ATAPI controllers" (familiar name?)
Now right click the controller and select "Update Driver Software...". Point to the unpacked iaStor driver you downloaded. Now reboot when asked.
After successfully installing the iaStor driver (it has little better performance) you can set the ahci service back to "on demand"
Start regedit again. Goto HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci and set Start to 3 (on demand)
You might want to do some housekeeping in you hardware tree now. Open a DOS box with cmd.exe and type:
set devmgr_show_nonpresent_devices=1
compmgmt.msc
Now goto Device Manager and in the menu View choose Show hidden devices.
Walk the hardware tree and search for grey devices. You can delete them.
Cheers