What you want to keep in mind here is that a timestamp value and a time value is always represented by an underlying decimal value. In the decimal value the integer part represents the date, and the decimal component represents the time.
By using the Time() and Time#() functions you only alter the text part of the value, which means that the underlying numerical value will not be limited.
For example if we look at the time 11:23:32 the numerical value is 0.47467592... which can be retrieve by using the Num() function.
Now compare that with the time 11:00, by again using the Num() function, and it is apparent that the expected underlying numerical value for these two times are different. 11:00 corresponds to 0.458333...
Why is it important to consider the underlying numerical value?
The simple reason is that selections in QlikView are primarily applied in the underlying numerical value.
There can be several ways to tackle this issue in your data model, but one way is to extract the hour value and use it as base for creating time value.
=Time#(Hour(Time#( '11:23:32')), 'hh')
The numerical value is also as expected 0.45833...