Great, now we can prove that no one, but
no one, reads the announcements.
Two things:
a) Instead of updating the counter for every announcement, you could just run a query that goes more or less like this:
Code:
UPDATE announcement SET visits = visits+1 WHERE forumid IN ($forumlist);
(generate $forumlist if needed). That way you only add one query instead of one per announcement.
b) Use the shutdown queries of vBulletin.

An example can be found in showthread.php:
Code:
if ($noshutdownfunc) {
$DB_site->query("UPDATE thread SET views=views+1 WHERE threadid='$threadid'");
} else {
$shutdownqueries[]="UPDATE LOW_PRIORITY thread SET views=views+1 WHERE threadid='$threadid'";
}