Lo que tienes que hacer es revisar que el sql generado sea el que esperabas. Para eso lo almacenas en una variable.
Código PHP:
//cadena sql
$sql = "SELECT producto FROM $tabla WHERE ((referencia='$referencia') and (marca = '$marca') and (estado = '$estado'))";
//haces la consulta, si no se ejecuta, se detiene la ejecución del script y te muestra
//un mensaje de error con el sql generado.
$resultado= mysql_query($sql, $conexion) or die("Error en consulta: ".$sql."<br />". mysql_error());
Saludos