I think maybe it only works in newpost_complete because when newpost_process is called, the new post has not been saved yet. Maybe you can do something like, in newpost_process:
Code:
if(//Condition)
{
$dataman->set('forumid', $vbulletin->options['search_duplicate_thread_forumid']);
$update_counters = 1;
}
else
$update_counters = 0;
then in newpost_complete,
Code:
if ($update_counters)
{
// forum counter build code here
}