The tilde character shows in front of your ident whenever the irc server does not receive a response from your client. This can happen for several reasons. Check your mIRC settings under 'connect' and then also under 'identd'. The first part of the email address should be exactly the same as your identd. The checkbox for identd should be checked on, and there's even a place in the 'identd' section that says to use the information from the email address. I still use this in my remote section, although it probably isnt needed:

on *:START: {
identd on $gettok($emailaddr,1,64)
}

Identd uses port 113 for it's requests. If you are behind a firewall (whether locally, on a router, from your isp, etc), then it might not be forwarding that port through to your client.

Hope that this helps,

Listner