Changed the Max speed to 0x1FFFE. Saved, etc.
Max
transfer (which represents the maximum amount of data to transfer per command NOT speed!) should be set to either 0x1FE00 or 0xFE00 not 0x1FFFE
I wrote a comprehensive paragraph on why max transfer has to be set to these values many times before but I'll reiterate it.
The original IDE spec had an 8-bit sector count field per command
((2^8)-1 * 512) = 0x1FE00
However windows usually only deals with sector count values upto 7 bits and lots of CF cards are not designed to handle single commands with transfers larger than that.
((2^7)-1 * 512) = 0xFE00