I've been able to remove the ahci drivers by removing the sata_ahc (IIRC) module from the boot.cfg. Subsequent testing was done in that configuration. Not sure if this is necessary, certainly doesn't seem to be sufficient to get things to work.
FYI, a quick way to get things working again when you break things is to disable the SATA controller, and reboot, then unbreak things, reboot reenabling the SATA controller again. Also, when using vmkchdev, -l outputs PCI device numbers in hex, however vmkchdev -v/-p requires inputs in decimal.
Updating /etc/vmware/passthru.map with data for the Lynx Point SATA, per the VMWare doco: http://www.vmware.com/pdf/vsp_4_vmdirectpath_host.pdf vis:
8086 8c02 d3d0 false (or true)
followed by auto-backup.sh & reboot, gets me so fas as to see the SATA controller in the viclient passthru configuration GUI, and a further reboot means I can then add the PCI device to a guest. However when I boot a linux or freebsd guest I get ahci reset failure, irrespective of the .msiEnabled .vmx file config parameter. I've tried a few kernel boot command line options with linux, however still broken.
I tried the other documented reset methods in passthru.map, but they either resulted in boot failure or no SATA controller option in the viclient passthru configuration GUI.