This is a bogus issue. There is no SQL injection.
It does cause a DB error, but it's not injection related.
Read the code properly.
$vbulletin->GPC['q'] gets split up into an array. ($search)
This array then goes through a foreach loop ($search AS $word)
Each $word is escaped before being put into the query ($whereText[] = "text
LIKE('%" . $db->escape_string_like($word) . "%')";)