questo non dipende dal foreach ma dall'if che fai dopo e dalla flag
$paroleyes = 0;
else
$paroleyes = 1;
perchè ogni ciclo cambia il valore della var, quindi ogni volta che non trova la parola, l'else la fa tornare a 1.

ti conviene mettere
Codice PHP:
$parole = array('parolauno''paroladue''parolatre');
$stringa $_POST['commenti'];
$trovate 0;
foreach(
$parole as $cerca) {
       if((
stristr($stringa$cerca)) !== FALSE) {
            echo 
"
[b]trovata la parola 
$cerca![/b]
"
;            
            
$trovate += 1//<<- qui il +=
       

}
// e poi fare
if ($trovate == 0)  //manda email
//oppure
if ($trovate 0//non mandare 
capito?
ciao