Just as side notes:
If I take the PCI IDE Controller out, it all goes fine. I have already tried passing ide=reverse as a Kernel param. I am using an ASUS A7N8X Deluxe.
As for the devices setup, they are:
Mobo IDE0 = 40GB HDD and a Sony 510A DVD-R
Mobo IDE1 = ATAPI CD-R and Sumsung DVD
PCI IDE0 = 40GH HDD and another 40GB HDD
PCI IDE1 = Nothing here.
I am thinking maybe the fact that there's nothing in the second IDE channel on the PCI controller is the problem. That it would be trying to detect something it can't find.
By the way, here's the Kernel output when it stops with the ide=reverse param:
=====================
Uniform Multi-Platform E-IDE Driver Revision 6.31
ide: Assuming 33MHz system bus speed for PIO modesl override with idebus=xx
CMD680:IDE Controller on PCI bus 01 dev 40
CMD680:chipset revision 2
CMD680: not 100% native mode:will probe IRQ later.
ide0:BM-DMA at 0xa000-0xa007 BIOS settings:hda

io, hdb

io.
ide1:BM-DMA at 0xa008-0xa00f BIOS settings:hdc

io, hdd

io
PCI_IDE *I did not take notes of these, but these are the motherboard's IDE controllers, which have no problem.*
=====================
Hope that helps pin point thr problem.