I read the thread about stealing focus. The focus queue idea seems the best. But I would suggest avoiding any kind of notification be it audio or visual. The monitor should be a Tray app with an adjustable activity delay. When you are typing, requests for focus are queued. Once the inactivity hits the time-out, then the next focus request in the queue should be processed. Perhaps there should be another adjustable pause to allow you to decide if you will provide any input to the new item that has the focus(e.g. click in a dialog box or whatever) and if that times out, go to the next in queue.
The monitor should only take the focus when responding to the Tray Icon Context Menu to set the time-out values, other options(start when Windows starts) or exit etc..
How to respond to dialogs with System Modal stay on top I'm not sure. But perhaps someone who has written similar monitor type utilities would know how to deal with window activation requests in such circumstances.