hmmmm perhaps adding a space before and after the word that is to be highlighted?
In the showflat.php script try changing this:
$Body = @eregi_replace($searchwords[$x],"<b><i>".$searchwords[$x]."</i></b>",$Body);
$Body = preg_replace("|(<a\s*[^>]+)<b><i>(\Q$searchwords[$i]\E)</i></b>([^>]*>)|i","\\1\\2\\3",$Body);
to this:
$Body = @eregi_replace(" $searchwords[$x] ","<b><i>".$searchwords[$x]."</i></b>",$Body);
$Body = preg_replace("|(<a\s*[^>]+)<b><i>(\Q $searchwords[$i] \E)</i></b>([^>]*>)|i","\\1\\2\\3",$Body);
(I think that's how it would be... lol)
showthreaded.php may be the same as well...