ikegami,
I really don't think
Anonymous Monk is trying to do anything complicated. See
Monthly hours report. I think this is just a matter of finding out how many hours between the first time entered and the second assuming you are always moving the clock forward (and not working for > 24 hrs consecutively). DST could still bite you but if you are writing your own code to manage your hours and haven't bothered to use a module - I say you get what you ask for.