Veamos, estas en una Query, no? pues porque no pones esas condiciones en el where de la misma?
Otra cosa, tambien podria ser que no te funcionara porque las fechas van entre comilladas
Código:
'fechaA < '+ QuotedStr(fecha) + ' and (fechaB = null or fechaB > ' + QuotedStr(fecha) + ')';
a parte de esto, tambien influye el formato de fecha. No es lo mismo que le pases un string con el formato de fecha dd/mm/yyyy (formato español) a que se lo pases como mm/dd/yyyy (formato ingles y el que reconocen la mayoria de gestores de bases de datos)
Espero te sirva