Questo perché la tua query, in caso non si passi il modello, diventa: AND annunciauto.idmodello = ''
Ovvero cerca i record con il campo idmodello vuoto o pari a 0, a seconda di come è strutturata la tabella.
Ovviamente se non hai record con campo idmodello vuoto o pari a 0 non troverà niente.
Devi generare la query dinamicamente, se $idmodello è valorizzato, aggiungi la parte "AND annunciauto.idmodello = $idmodello", altrimenti no.