Pokud jde pouze jednou za den pod/nahoru, můžete dotaz docela zjednodušit; stačí najít minimální a maximální čas tam, kde je níže, seskupení podle data.
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