HOUR() correctly returns hour>23 values in this script:
and in this script:
However, it does not work well in some cases:
MySQL-5.5 exhibit the same behaviour.
MySQL-5.6 correctly returns "24" for both expressions in the last query.
So this bug should probably be fixed only in 10.0
(while 5.3 and 5.5 should keep the original behaviour).