I'm using vB 3.5.2 but i tried to find a solution for you...
I think your problem can be solved if you remove the underlying code from includes/functions_databuild.php
It works, but i'm not sure whether it affects other things or not, because i also don't know php...
PHP Code:
if (!empty($userbyuserid) AND $threadinfo['visible'] == 1)
{ // if the thread is moderated the posts have already been reduced
$userbypostcount = array();
foreach ($userbyuserid AS $postuserid => $postcount)
{
$alluserids .= ",$postuserid";
$userbypostcount["$postcount"] .= ",$postuserid";
}
foreach($userbypostcount AS $postcount => $userids)
{
$casesql .= " WHEN userid IN (0$userids) AND posts > $postcount THEN
posts - $postcount\n";
}
// postcounts are already negative, so we don't want to do -(-1)
$vbulletin->db->query_write("
UPDATE " . TABLE_PREFIX ."user SET
posts = CASE $casesql ELSE 0 END
WHERE userid IN (0$alluserids)
");
}