Well I'll be damned if I can see anything wrong with the ATA options, they look good to my admittedly ignorant eyes. The problem appears to be caused by CONFIG_IDE_GENERIC=y, setting it to NO and recompiling makes the problem disappear. From what I have read setting it to YES causes a conflict with the libata driver and prevents many modern IDE controllers from detecting all their disks.
It works for me
@Beren Camlost: I'm afraid your main assumption is incorrect. Fractallyte's previous post says quite clearly "It's a generic kernel" and having spent a few hours staring at the configuration file I can assure you he is not joking.
I had previously assumed that the installed X-Amiga system booted with an initramfs and loaded the modules from there just like the installer CD does. This assumption was wrong, after rebooting the kernel fails when attempting to mount / because it doesn't have the correct SATA driver loaded. To make it work correctly I had to compile the SATA drivers into the kernel itself, then it works fine.