por que la propiedad filtro no es mas que una cadena que despues es interpretada para evaluar la condicion que tu hayas definido, por ejemplo
esto :
Código Delphi
[-]
Form1.table1.filter := 'Fecha = ' + DateToStr(DateTimePicker1.Date)
es equivalente a esto otro, lo cual puede ser interpretado erroneamente como una operacion aritmetica
Código Delphi
[-]
Form1.table1.filter := 'Fecha =25/02/2007'
en cambio si le agregas las comillas, seria como si asignaras algo parecido a esto
Código Delphi
[-]
Form1.table1.filter := 'Fecha =''25/02/2007'''
lo cual ya podra ser interpretado correctamente como una fecha.
Esto ya es correcto, pero para no enredarme con tantas comillas, prefiero usar la funcion QuotedStr de esta forma :
Código Delphi
[-]
Form1.table1.filter := 'Fecha = ' + QuotedStr(DateToStr(DateTimePicker1.Date));