Bueno, así de primeras pienso que si el tiempo lo guardas en segundos, pues en vez de un float podrías utilizar un integer, o Int64. Sería algo así:
Código Delphi
[-]
function ConverTime(Seconds: Integer): string;
begin
Result:=IntToStr(Seconds div 3600)+':'+IntToStr(Seconds div 60)+':'+IntToStr(Seconds mod 60);
end;
Sencillo, ¿no? Con divisiones y un resto.
Salu2.
Edito: vaya, dec se me adelantó... bueno mejor utiliza ese método, porque este me acabo de fijar que, por ejemplo, si tiene una hora y cinco minutos aparecería "1:5:0". En vez de IntToStr tendría que utilizar Format.