Doubt about zero-cross circuit
Why do you feel your zero cross circuit needs to be behind the rectifier instead of before it? I assume the only reason D7 exists is to prevent C1 from holding the output of the rectifier at a DC value when the AC source swings negative which would interfere with the zero-cross circuit.
Get rid of D7. It's bad solution to a problem that doesn't need to exist. Just move your entire zero-cross circuit (which is R1/R2 and everything to the right of it) before the rectifier instead. You also do not need R3. It is not doing anything.