Prueba a crear una variable nueva con el valor de $result[' fecha_mes']
ademas, en el IF estas asignando un valor a $caduca en lugar de compararlo, por == en lugar de =
Prueba a imprimir el valor de $caduca antes de introducirlo dentro del IF para saber que valor tiene.
Código PHP:
while{
$mes=date(n);
$miresult = $result['fecha_mes'];
$caduca= $miresult + 4;// pero no quiere sumar el malbado este!!!
echo $caduca;
if($caduca == $mes){
//update en id de la consulta
}
}