This hack works very well.

Thanks.
I've made a small mod.
Instead of adding the code to your global.php (and save yourself a PHP file edit and headaches when you upgrade), you can add this to the bottom of your phpinclude template:
PHP Code:
if ($dotimezonecheck AND ($bbuserinfo[usergroupid] == 2 OR $bbuserinfo[usergroupid] == 5 OR $bbuserinfo[usergroupid] == 6 OR $bbuserinfo[usergroupid] == 7)) {
$nowhours=vbdate("H",time());
eval("\$timezonecheck = \"".gettemplate('hi_timezone')."\";");
}
I changed the code a bit to make it so that only registered members and staff will get the popup to update the timezone. Members awaiting email registration, banned members etc. will not get it. I didn't want members still waiting email registration to get the timezone update, as they are not meant to be able to access their user CP as such.