Tengo un problema que me trae de cabeza

1º recojo los datos de un formulario con un Request.Form
dia1=Request.Form("dia1")
mes1=Request.Form("mes1")
ano1=Request.Form("ano1")
dia2=Request.Form("dia2")
mes2=Request.Form("mes2")
ano2=Request.Form("ano2")
Y lo compongo de esta forma:
fecha1="#"&dia1&"/"&mes1&"/"&ano1&"#"
fecha2="#"&dia2&"/"&mes2&"/"&ano2&"#"
Y la consulta es la siguiente:
SELECT * FROM facturas WHERE fecha BETWEEN "&fecha1&" And "&fecha2&"ORDER BY fecha ASC
Pues bien, si devuelve registros pero si el año coincide con el 03 solo devuelve solo el primer registro


He mirado la configuración del Server y admite dd/mm/aa
y en la base de datos Access esta como fecha corta dd/mm/aa
¿Alguien me puede decir que es lo que pasa?
Gracias