Pues es curioso, porque a mi
Código Delphi
[-]
round(MinuteSpan((DateTimePicker1.DateTime),(DateTimePicker2.DateTime)));
siempre me da cero en caso de que ambasfechas/hora coincidan. Pero, por otra parte, cuando haces FormatDateTime usando 'hh:mm' ya estás truncando las fracciones de minuto, así que ¿por qué no usas MinutesBetween?
// Saludos