DCC sends its own ACK packets. This is rather redundant, but that's how it works. When you are sending data to someone, they are constantly replying with 4-byte packets indicating how much data they have so far received. The various "speed up DCC" commands enable things such as sending packets before receiving the ACKs for previous packets, but it doesn't do this indefinitely -- eventually it will wait for the ACKs to catch up (else it would be wasteful, you don't even know the other end is there anymore).

What this amounts to is, your DCC send speed is probably being affected by the upload speed of the person you are sending to. Try sending to multiple people at the same time, and see if your total throughput is thus limited or if it is only on a person by person basis. Whatever it is, it can probably be blamed on the DCC send protocol itself and not mIRC directly, or some combination of networking parameters unknown to me.

-m-