Its probably because of how your times are formatted.
If they were stored in the database as unix time stamps and the times entered by the user were converted to unix time stamps then PHP would be able to compare them.
Although everything i just writ might be wrong...
EDIT: adding to that i found another function that would be more useful.. strtotime
10:00:00 -> unix time stamp
$unixtime = strtotime("10:00:00");
Then you would use the date function in your comparing