/flushini mirc.ini
Then compare them, it might have changed

I however, assume that u dont ONLY replace the ini, but rather u also restart mirc, sicne if u dont the mirc.ini is just replaced by the running mircs memory image/settings.

I wonder if you are infact exceeding your dcc ports? Assuming u have say 5 ports for dcc say 10001-10005, then u can only do a max of 5 sends at once, however this can be reduced becuase dcc chat and dcc fserv also use these port numbers and lastly dcc gets also does.

The thing that can be hard to determine sometimes might be why sometimes a send well fail then another well work.
example...
send1 uses 10001
send2 uses 10002
get1 uses 10003
chat1 uses 10004
send3 uses 10005
get2 uses 1234 (random port from 1024 to 5000 due to all ports in use) (get works, as it doesnt need a forwarded port)
send4 uses 2345 (and fails)
get1 ENDS
send5 uses 10003 (now free from GET1 ending)
send6 uses 3456 (and fails)

If this is the problem, then the solution is simple increase the number of dcc ports to cover the max total gets sends chats and fservs u well ever do at once.
FYI sends, chats from you & fserv from you require a forwarded port, while gets, chats to you, fserv to you require no forwarded ports (but well still use the same range if one is open)