AHCI is the host controller interface for your SATA drives. You use this if you want to be able to hot plug your drives. I don't care about this so I don't use it. here is what Wikipedia says:
Enabling AHCI in a system's BIOS will cause a 0x7B Blue Screen of Death STOP error (INACCESSIBLE_BOOT_DEVICE) on installations of Windows XP and Windows Vista where AHCI/RAID drivers for that system's chipset are not installed; i.e., boot failure.[5] Switching the chipset to AHCI mode involves changing the BIOS settings and will not work. Usually, manual installation of new drivers is required before enabling AHCI in BIOS.[6] Alternatively, a "Repair" installation with the appropriate driver loaded during the setup process usually corrects the problem. For motherboards with more than one Sata controller (for example, some boards have Intel and Jmicron Sata controllers) another alternative is possible. The sata cable for the boot drive can be inserted into a port on one controller (which can be configured in IDE mode), allowing the machine to boot successfully with the other controller configured for AHCI mode. The AHCI drivers can then be installed in windows without difficulty before swapping the cable back.
I'm not sure about native mode, but here is what the Internet has to day.
In native, SATA is used purely as SATA, without any consideration towards the compatibility with older devices and operating systems. Native mode enables use of all the advanced features that SATA can offer. It provides the most flexibility and options, but there is little regard for backwards compatibility
I would leave it on.