El que guarde DATETIMEs no importa por cuanto no sólo estás cortando los DATETIME para que te devuelva DATEs, sino que además eso no evitaría que te devolviese aquellos datos cuyas fechas estuviesen entre el 11/12/2007 00:00:00 y el 09/12/2008 23:59:59. Esos te los debería devolver.
Dos preguntas:
1) ¿El problema es que no devuelve todos los datos o es que no los devuelve
correctamente en el orden necesario?
2) Que devolvería una consulta que diga:
¿Cuántos registros devuelve esa consulta?