[quote=drsmachado]Charles, primeiro, “mim retorna” não existe, ok? Melhore o português, rapaz.
Segundo.
Pense no seguinte caso.
dtaInicio = 20/08/2012 10:00
dtaFim = 30/08/2012 8:00
1° caso:
dtaParam = 25/08/2012 7:00
Eu faria assim:
SELECT * FROM tabela WHERE dtaParam >= dtaInicio AND dtaParam <= dtaFim
E teria resultado, afinal, 25/08/2012 7:00 é maior que a dtaInicio e menor que a dtaFim
2° caso:
dtaParam = 20/08/2012 7:00
Eu faria assim:
SELECT * FROM tabela WHERE dtaParam >= dtaInicio AND dtaParam <= dtaFim
E não teria resultado, visto que, dtaParam é menor que a dtaInicio.
3° caso:
dtaParam = 30/08/2012 7:00
Eu faria assim:
SELECT * FROM tabela WHERE dtaParam >= dtaInicio AND dtaParam <= dtaFim
E teria resultado, visto que, dtaParam é maior que dtaInicio e menor que a dtaFim.
4° caso:
dtaParam = 30/08/2012 20:00
Eu faria assim:
SELECT * FROM tabela WHERE dtaParam >= dtaInicio AND dtaParam <= dtaFim
E não teria resultado, visto que, dtaParam é maior que dtaFim.
Saca?
Se você usar o operador OR a afirmativa precisa ser verdade em apenas um dos lados (ou seja, se ela for maior que a dtaFim, obrigatoriamente é maior que a dtaFim e, se for menor que a dtaInicio, obrigatoriamente é menor que a dtaFim). O melhor a usar é o operador AND que só permite que um resultado seja retornado SE e somente SE ambos os lados forem verdadeiros.[/quote]
drsmachado obrigado pelas dicas, inclusive a de português… 
Vou fazer alguns testes!