Rounding Problems Converting Hours Minutes Seconds (H.MS) to Hours (H.HH)

So the user input (i.e. to set a countdown time) comes from a float register - that's why I have to use a float input for this function.

If you change your input function to return an unsigned long (a whole number of seconds) instead of a float, this "problem" simply disappears.