Quote:
I use a timer with an invalid command name for each connection opened with a 2 min delay. since it's an invalid mIRC command, it tries to send it to the server and if the server is not there, hence de "silent" disconnect, mIRC realizes it and disconnects and reconnects since it's auto in the options.

I for my part use a simple PONG.

Code:
on *:CONNECT:{
	/timerping. $+ $cid 0 60 /pong $server
}