mIRC does not have any timers that specifically trigger every thirty minutes.
mRC does use the SetForegroundWindow() API call, which allows an application to take focus from other applications, in specific contexts, such as menus popping up, desktop windows being created, the mIRC tray icon being clicked, and so on.
But for this issue to happen at precisely every thirty minutes... that's really specific. It is very likely that another application or graphics/sound/other driver is doing this.
When the focus switches, did something happen in mIRC, such as joining a channel, opening a window, popping up a dialog?
Normally, with a bug report, I would ask a user to install a clean copy of mIRC, using the Portable option in the installer, into a new, empty folder (such as a Documents/mIRC folder), with no scripts, settings, etc. and to run mIRC from there with default settings. If you run this copy of mIRC, and leave it open on the desktop, or minimize it to the tray/taskbar, does it still get focus every thirty minutes?