The CF interface from Altera is basic and rigid. It works only in PIO 0 and TrueIDE.
If you want a real ATA interface and work with greater PIO modes, you need another way than tricking the Altera core. I needed big performance in writing on a CF as well, and I adapted the Wishbone OCIDEC core for avalon. It is simple to implement, I just mapped the avalon signals directly to the wishbone signals. I got inspired by the ocidec driver for linux to write the initialization code in my software. Feel free to contact me by mail if you want details.
Regards