Jeśli tylko raz dziennie przejdzie poniżej/powyżej, możesz sprawić, że zapytanie będzie całkiem proste; po prostu znajdź minimalny i maksymalny czas tam, gdzie jest poniżej, grupując według daty.
SELECT
DATE(statustime) statusdate,
MIN(CASE WHEN reading<50 THEN statustime ELSE NULL END) start_time,
MAX(CASE WHEN reading<50 THEN statustime ELSE NULL END) end_time
FROM myTable
GROUP BY statusdate