one, i'm gonna want that script, i could use it.
1st off, once the connection has been made. u dont need the port mapped. so doing it on /debug, and waiting 30 secs won't break the send.
FYI: not sure if u know this but the dcc raw format goes like this:
PRIVMSG NICK : $+ $chr(1) $+ DCC SEND filename ipaddress port filesize
with the ip address being in long format.