Prueba con algo como esto:
Código SQL:
Ver originalSELECT * FROM contratos WHERE id_auto NOT IN (SELECT id_auto FROM contratos c WHERE ( c.fechaHoraSalida BETWEEN '2017-09-07' AND '2017-09-17') OR
( c.fechaHoraRegreso BETWEEN '2017-09-07' AND '2017-09-17'))
en tu caso no ocups el AND porque quieres que no te de los registros que tengan hora de salida entre esas fechas u hora de salida entre esas mismas fechas