Podrías utilizar parámetros y de esa forma no tendrías que hacer ninguna conversión:
Código Delphi
[-]
with TuDataset do begin
If active then close;
SQL.Clear;
SQL.Add('Select ...');
SQL.Add('From...');
SQL.Add('Where fecha < :Fecha');
ParamByname('Fecha').AsDateTime := UnDTPicker.DateTime;
Open;
end;
"ExecSQL" se utiliza solo para consultas de modificación (Insert, delete, update...), "Open" se utiliza para consultas normales "Select"