modifica :

codice:
Recordset2.Source = "SELECT * FROM IMMOBILI WHERE ( provincia LIKE '" & strprovincia & "' ) AND ( tipologia LIKE '" & strtipologia & "' ) AND ( costo between " & strcostoda & " AND " & strcostoa & ") "
con
codice:
sql = "SELECT * FROM IMMOBILI WHERE ( provincia LIKE '" & strprovincia & "' ) AND ( tipologia LIKE '" & strtipologia & "' ) AND ( costo between " & strcostoda & " AND " & strcostoa & ") "
Recordset2.Source = sql
e poi prima di

Recordset2.Open()

scrivi
Response.Write sql : Response.end

Prova la query in Access e vedi che ti dice.
Ciao