Вы уверены в этом требовании? 24-часовые часы обычно не работают так.
Простым взломом будет считать 0 час 24:
SELECT * FROM event
WHERE location_id=?
ORDER BY REPLACE(start, '00:', '24:')
хотя в любом случае вы потеряете потенциальную индексируемость. Если вам нужна индексация, вам нужно создать еще один столбец, например. целое число минут плюс 60 по модулю 1440.
[В сторону: я настоятельно рекомендую параметризованные запросы, чтобы избежать потенциального внедрения SQL в location_id
.]