Creo que estas haciéndote un lio para la operación.
Con el ejemplo citado, podrías indicarnos que resultado te da esta operación:
Código Delphi
[-]
ShowMessage(TimeToStr(DateTimePicker_HraFin.Time - DateTimePicker_HraIni.Time));
Seguramente hay fracciones de segundo por allí involucradas..