Vari mēģināt tā:
SELECT * FROM
(SELECT `from` as dAll FROM `events` WHERE `from`>=NOW()
UNION
SELECT `to` FROM `events` WHERE `to`>=NOW()) dta ,
(SELECT *
FROM `events`
WHERE (NOW() BETWEEN `from` AND `to`)
OR (`to` >= NOW() AND `from` <= `to`)) dtb
WHERE (dta.dAll<=dtb.`from` AND dta.dAll>=dtb.`to`) OR (dta.dAll>=dtb.`from` AND dta.dAll<=dtb.`to`)
Bet, ja notikumu būs daudz, būs bremzes.