SOLUCIONADO por el momento, aqui dejo el ejemplo por si le sirve a alguien, esta es la única forma que me funciono sin ningún tipo de error:
Código PHP:
mysql_select_db($database_conect, $conect);
//limpio valores,.. precios.
$prec_desde=str_replace(".","",$_POST['prec_desde']);
$prec_hasta=str_replace(".","",$_POST['prec_hasta']);
//chequeo las variables POST que llegan
if ($_POST['id']!="") {$filtro1="AND id = '".$_POST['id']."'";}
if ($_POST['zona']!="") {$filtro2="AND zona = '".$_POST['zona']."'";}
if ($_POST['nombre_zona']!="") {$filtro3="AND nombre_zona = '".$_POST['nombre_zona']."'";}
if ($_POST['tipo']!="") {$filtro4="AND tipo = '".$_POST['tipo']."'";}
if ($_POST['dormitorios']!="") {$filtro5="AND dormitorios = '".$_POST['dormitorios']."'";}
if ($_POST['ascensor']!="") {$filtro6="AND ascensor = '".$_POST['ascensor']."'";}
if ($_POST['garage']!="") {$filtro7="AND garage = '".$_POST['garage']."'";}
if ($_POST['terraza']!="") {$filtro8="AND terraza = '".$_POST['terraza']."'";}
if ($_POST['prec_desde']!="") {$filtro9="AND precio >= '$prec_desde'";}
if ($_POST['prec_hasta']!="") {$filtro10="AND precio <='$prec_hasta'";}
//a continuacion genero la consulta dinamicamente segun los valores que lleguen desde el formulario y concatenando las variables
$query_busca = "SELECT * FROM propiedades WHERE situacion='".$_POST['situacion']."' $filtro1 $filtro2 $filtro3 $filtro4 $filtro5 $filtro6 $filtro7 $filtro8 $filtro9 $filtro10";
$query_limit_busca = sprintf("%s LIMIT %d, %d", $query_busca, $startRow_busca, $maxRows_busca);
echo "$query_busca"; // con esto veo la consulta que realmente se esta ejecutando
$busca = mysql_query($query_limit_busca, $conect) or die(mysql_error());
$row_busca = mysql_fetch_assoc($busca);
Bueno me alegro por dos cosas , la primera es por haber conseguido solucionarlo y la segunda es por poder compartirlo.
Saludos.