А почему бы не поставить обычное реле. Для реверса нужно 2 шт. c перекидными контактами. Можно и на связке 2-х MOC3041(42,61 и.т.д.) и семистр MAC9N.(где-то схемку видел, если очень надо поищу отсканирую и выложу). Насчет определения перехода через ноль,если обычные оптосемисторы использовать (без zero-cross), делал как-то диммер давно, так я прерывания не использовал, просто отслеживал изменение состояния порта (резюк 10-20мОм), в твоем случае прерывание тоже ни к чему, просто перед подачей 1 на порт управления оптосемистором проверяй состояние 0 на входе с сети (это правда не есть гуд, нет гальванической развязки). А насчет работы пиков без гальванической развязкии, отлично работают, у микрочипа даже аппнот есть (TB00
, сам собирал по этому апноту (блок питания с гасящим конденсатором, кстати для этого же диммера (pic12f629)), только все органы управления и корпус изолировать надо.