Your problem seems to be the way Excel treats time. Excel 'Date' is a separate 'type'. Excel 'dates and times' are also type 'Date'. With 'time only' even though in Excel you can declare a type 'Time', it is really internally stored as type 'Double' (fractional value between 0 and 1). That's why 12:00 is displayed as 0.5.
A side effect to the following is that 'actual types of double' that are between the values of 0 and 1 may lose precision in your comment and will be displayed with the number of decimals you see when looking at the cell. For example the number 0.12345678 with number format showing two decimals, will appear in the cell as '0.12' and '0.12' will appear in your comment.
In your Macro try the following (tested in Excel 2003):
Bookmarks