I have my drives set up like this:
Primary IDE Channel
Master: SAMSUNG SV4012H
Slave: ATAPI-CD ROM-DRIVE-56MAX
Secondary IDE Channel
Master: HL-DT-ST CD-RW GCE-8320B
They were all DMA enabled. The problem was that my CDROM switched to PIO mode (only the CDROM).
I ran regedit and navigated to the string:
Inside that you have four sub-levels:
In my case I have:
0000 for the VIA IDE bus main controller (dont know the exact translation for that [it's in spanish])
0001 for the Secondary IDE Channel (as you can read in "DriverDesc").
0002 for the Primary IDE Channel
Inside that one (0002) you can find several entries, I deleted one called "SalveIdDataCheckSum".
I rebooted and it was DMA again (I still had "DMA if available" marked).
I thought it was that entry I should delete because of what I read here: http://www.microsoft.com/hwdev/tech/storage/IDE-DMA.asp
Windows XP will turn off DMA mode for a device after encountering certain errors during data transfer operations. If more that six DMA transfer timeouts occur, Windows will turn off DMA and use only PIO mode on that device.
Feel free to ask, after all you've helped me a lot.