ENTRE cláusula em SQL

Eu tenho uma instrução SQL para exibir dados entre duas datas. Eu quase consegui, mas tem um problema.

Se eu inserirMarch 1,2012 to March 7, 2012.. deve mostrar dados com datas entre os dois .. mas também mostra todas as datas em março de 2012 .. mas sempre que eu insumo 10 de março de 2012 a 30 de março de 2012 o SQL funciona perfeitamente .. qualquer ajuda será apreciada . obrigado

SELECT 
   agentname, noofcalls, qualified, booking, resched, 
   actualbooking, sales, remarks, 
   concat(month,' ',day,',',year) as 'date' 
FROM 
   tblagents
WHERE 
   (month between '" & cbosmonth.Text & "' AND '" & cboemonth.Text & "')
   AND (day between '" & cbosday.Text & "' AND '" & cboeday.Text & "')
   AND (year between '" & cbosyear.Text & "' AND '" & cboeyear.Text & "')"

questionAnswers(3)

yourAnswerToTheQuestion