Lo correcto y elegante es esto:
Código:
Query.ParamByName('fecha1').AsDate := DateTimePicker1.Date;
Yo siempre lo hago así y me funciona muy bien y además no tienes que preocuparte por el formato de fechas que use tu aplicación ni del que usa el motor de BD