Scheduled tasks are ran via cron.php, which requires global.php which will exit if bbactive is set to false and the user viewing the page is not an admin with control panel access.
I would set this script to run as a true (server) cron process. If that is not an option you can try hacking global.php.
Change this;
PHP Code:
// #############################################################################
// check that board is active - if not admin, then display error
if (!$vbulletin->options['bbactive'] AND THIS_SCRIPT != 'login')
{
To this;
PHP Code:
// #############################################################################
// check that board is active - if not admin, then display error
if (!$vbulletin->options['bbactive'] AND THIS_SCRIPT != 'login' AND THIS_SCRIPT != 'cron')
{
Although I have not tested it and have no idea if it will work.