Se va sotto/sopra di nuovo solo una volta al giorno, puoi rendere la query abbastanza semplice; trova solo il tempo minimo e massimo dove si trova sotto, raggruppandoli per 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
Un SQLfiddle con cui testare .