Scusa ma io ho letto questo codice che hai sottoposto al bug
report:
<?php

$valore = 'qwerty';

if ($valore == (int)$valore)
{
echo "variable contains a valid numeric value!";
}
else
{
echo "variable doesn't contains a valid numeric value!";
}
?>

Io personalmente vedo un cast in quella condizione e la risposta é che PHP cerca di uniformare anche l'operando di sinistra a intero per eseguire il confronto.
Sul manuale al link che dicevo esplicita che la conversione
da stringa a integer é zero (anche se la fa il parser in autonomia) e quindi stai comparando if (0 == 0) ///bla bla
Spero di aver compreso il punto della questione.