Se ele for abaixo/acima novamente uma vez por dia, você pode tornar a consulta bastante simples; basta encontrar o tempo mínimo e máximo em que está abaixo, agrupando por 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
Um SQLfiddle para testar .