The Ping? Pong! event you see is the IRC server pinging your client, and your client responding.
That said, IRC servers only ping you if your client hasn't done anything for a couple minutes or so.
So as Masoud hinted, the likely cause is a script that's issuing commands to the server frequently enough that the server sees no need to ping your client. (That, or you're chatting a lot -- each line of chat you send counts as a command, too.)
If you want to figure out what's being sent that's stopping the IRC server pings, type /debug -pt @debug to open a "sniffer" window. You can watch everything the server sends to mIRC, and everything mIRC sends to the server, in that window, including any hidden stuff your scripts don't normally display in any other window.
P.S. If you're being disconnected a lot, it's also possible the IRC server just isn't pinging you. I think that with IRC servers, pings have a lower priority than other types of events. So a server that's under attack or otherwise extremely busy might omit enough pings to mistakenly think you've timed out. In any case, if you don't see anything in your debug window that explains why you aren't seeing pingpongs, try a different server on another network. If you're successfully pinged there while idling, then the problem is the other server.