Hola GeoAvila
Pues mira, en SQL-Server es igual que en Access, solo que con apóstrofes en lugar de las almohadillas:
Rs.Open "SELECT * from reservas where fecha1>='" & fec1 & "' and fecha2<'" & fec2 & "' and mhotel1= '" & p4 & "' and mncliente= '" & p5 & "' and mestado='" & "I" & "'", Conn, 1,3
Siempre y cuando fec1 y fec2 sean un string de formato dd/nn/aaaa o mm/dd/aaaa
Saludos
PD. Quiza un between sería más claro.