Instead of checking connection activity, a better solution would be for mIRC to check the state of its sockets every X seconds, and immediatly show that the connection has closed as soon as it detects it.
Right now, I think mIRC does not check the connection states, and waits for a "clean" close from the server, or waits until it encounters an error with the socket before telling you it has been closed.
This way, if mIRC were to check socket states every X seconds, it would be able to tell you if you have been disconnected in a reasonable amount of time.