This would break identd behind nat, as our 'local port' (according to the ircd) is port used by the router, and mirc has no knowledge of this port (as it is changed in the ip header but not in the packet contents).
I am not sure if this is done already, but mIRC could count how many connection attempts it has underway, and for each identd request decrease this amount, until it reaches 0 and the identd port is closed.