Saludos.
Ante todo dar las gracias a todos los que habéis respondido.
Chris tiene toda la razón, Null es Null y el único operador para trabajar con él, es
IS.
He probado todas las opciones que me habéis recomendado y no me funcionaba con yo quería.
O no me devolvía ningún registro o me devolvía todos menos los
null.
Así que con la idea de
kapcomx y del resto de compañeros, he podido solucionar el problema.
Código Delphi
[-] if DesdeFamilia.Text = '' then cConsulta := '(familia <= '+QuotedStr(HastaFamilia.Text)+') or (Familia is null)'
else cConsulta := '(familia >= '+QuotedStr(DesdeFamilia.Text)+') and (Familia <= '+QuotedStr(HastaFamilia.Text)+')';
Código Delphi
[-]DMList.QApuntes.Close;
DMList.QApuntes.SQL.Text := 'Select * From Apuntes Where '+cConsulta;
DMList.QApuntes.Open;
Ahora ya me devuelve los registros dentro del rago y si "Desdefamilia" está vacío me devuelve los null.
Espero que a otros le sirva de ayuda.
Nuevamente gracias a todos por vuestra ayuda.