Actually managed now to fix maybe an issue.. Damn, I fighted with Zyxel Prestige 660HW-D1 and 650 and some linksys 3 hours.. before understanded that this has something to do with socks level issue.
anyhow I hope this helps at least some (tested on Mirc v6.16, v6.20 & v6.21 and yeah also tested with UPP as some are boiling in their forums it would be their fault..;P):
Router settings:
(ports can be anything above 1024)
forward to NAT '16100-16130' & Firewall: WAN to LAN & LAN to WAN: '16100-16130' and used
http://www.myip.dk/ to get my external IP/WAN IP
Mirc settings:
Select Server... > options > Advanced...:
Check DCC & Other > add ports you forwarded to first and last -1 (like I did first was 16100 last was 16129)
Check bind sockets to IP Address & add your WAN/External IP to the box.
DCC > Server > Check Enable DCC Server > Listen on port (Last one you forwarded) on my case 16130
and check Chat & Send > OK..
[edit]
Well, this is odd the port thing mentioned earlier seems to have something to do with this after all, if I set the server port yeah to 6667 it doesn't work again.. Only 6668-6669,7000 ports connecting to server seems to actually work with me.
About the changing port seems when DCC server is setupped to Chat & send as said apove that port never changes, if it's not forwarded and setup it changes like according to network. in efnet 11031 in undernet 10931 and so on and no matter how many times you connect on those networks or anywhere I tryied it's always same switch unless the dcc server is set when it keeps it to the DCC server port.. Hmm.. Thinking what could be permanent solution swicthing bunch of routers and buying heavily costing routers can't be the answer for software flop up..