Hola,
¿Por que no lo haces en varias lineas? Seria mas claro y mas dificil equivocarse:
Código PHP:
while($resultado = mysql_fetch_array($nombre))
{
$id_producto = $resultado['id_producto'];
$descrip_prod = $resultado['descrip_prod'];
$temp=${'clave' . $id_producto . 'mat' . $iCont};
echo"<option value=\"$temp\">$descrip_prod</option>";
}
Tambien deberias mirar si las variables que usas para crear el nombre tienen los valores correctos.
Saludos.