Type /localinfo -u
This will force mIRC to get your current WAN IP address from the IRC server. If it works (and it should) you should narrow your port range down to 10 or 20 ports. The default range is 1024-5000 (3976 ports) which is far more than the average user needs. To do this...
Go to mIRC options (alt+o) > connect > options > advanced
Select: Randomize ports
Deselect: Bind sockets to IP
Also, to get your current IP everytime you connect to a server, you can add it to your perform list for all networks. To do this...
Go to mIRC options (alt+o) > connect > options > perform
Select: Enable perform on connect
Select: All networks
Add this line: /localinfo -u
If this doesn't work, you can always use the Passive DCC feature which puts the burden of open ports and correct IP address on the receiver. Switch on passive mode by typing /dcc passive on