Hola!
Una vez me pasó algo similar y lo resolví quitando, en principio, como bien sugiere trasgikabi, el ; del final.
Además de eso, también quité los [] que encierran a los campos. Al parecer lo toma barbaro en access pero cuando corre por asp hacen problemas.
Fijate con eso y despues nos cuentas.
También estaría interesante que postearas el response.Write(sql) a ver qué está interpretando del texto de tu consulta
Otra cosa que se me ocurre es colocar #'&desde%'# And #'&hasta&'# ya que usar comillas dobles todo el tiempo suele generar problemas de interpretación.
Fijate despacio opción por opción y nos contás si?