Just to briefly revisit this (and for future reference).
I changed my requirements for the Now/Next query. The previous query returns two results for each channel (one for Now and the other Next...obviously).
I now need a single result for each channel which combines both. Took some time and gave me a bit of a headache. But I thought I'd share.
SELECT A.channel_oid AS _id, A.oid AS now_oid, A.title AS now_title, A.start_time AS now_start_time,
A.end_time AS now_end_time, B.oid AS next_oid, B.title AS next_title, B.start_time AS next_start_time,
B.end_time AS next_end_time
WHERE start_time <= datetime('now') AND end_time > datetime('now')
ORDER BY channel_oid) AS A
MIN(start_time) as start_time,
WHERE start_time > datetime('now')
GROUP BY channel_oid) AS B
ON A.channel_oid = B.channel_oid