Pues es cierto la pulsación sobre el botón aceptar provoca según parece el evento OnChange por segunda vez. Prueba con esto y verás como te funciona sin problemas.
Código Delphi
[-]
procedure TForm1.DateTimePicker2CloseUp(Sender: TObject);
begin
if DateTimePicker2.Date < DateTimePicker1.Date then
begin
showmessage('la fecha de finalizacion es menor que la de inicio.');
end;
end;
Un Saludo.