Run a check on every page load programmatically
(I'm assuming Drupal 6)

Looking at bootstrap.inc, hook_boot is called on all pages, as long as agressive caching hasn't been turned on.

At this point the global $user variable should already exist (page_get_cache, which is called before hook_boot, makes use of it for example). module.inc has also been included, so you can use the functions included in that file to check for module existance and load them if necessary.

So, hook_boot looks like a good choice.