Я всегда нахожу, что PHP <-> MySql обрабатывает даты с трудом (но с улучшением в 5.3).
Я предполагаю, что запрос mysql возвращает дату в виде строки, а date () ожидает отметку времени.
Часто я просто получаю mysql, чтобы отформатировать для меня дату в виде строки и вернуть ее в качестве дополнительного поля, например:
$get_hours_sql = "SELECT *,date_format(hours_open,'%h:%i %p') as hours_open_formatted, date_format(hours_close,'%h:%i %p') as hours_close_formatted FROM client_hours ORDER BY day";
тогда просто используйте отформатированные поля:
$hoursList .= ''.$productList['hours_open_formatted'].' - '.$productList['hours_close_formatted'].'<br/>';