Bien, son muchas las posibles causas, pero pocas las que sean efectivas
Asi que vamos por partes (Decía Jack el Destripador )
1_Chequea la caída de la fuente, el micro debe de tener una tensión constante y cualquier variación de esta por debajo del valor nominal de alimentación, influye mucho a tal punto que el micro queda congelado.
2_Si el modulo de potencia esta en la misma placa del micro, implementa una jaula para aislar cualquier tipo de interferencia, e implementa un desacoplo.
3_Descarto que sea un bug´s en la programación, ya que mencionas que cuando deshabilitas físicamente este relay, todo funciona a la perfección, por ende, este 3er punto se refiere a que posiblemente es muy probable que los problemas sean a raíz de problemas de fuente o problemas de ruido....
En mis proyectos de control electrónico, ya sea implementando micros Atmel, Picaxe o Pic, suelo implementar un pequeño condensador entre Vcc y GND (a muy escasos centímetros de estas patillas) para prevenir posibles interferencias. Como recomendación principal para este proyecto tuyo y otros que tengas a futuros, es la implementación de una buena fuente conmutada, y tratar de desacoplar las salidas con optos (MOC30XX), array darlington (uln2803 o similares) o amplificador operacionales.... Además, dependiendo el tipo de carga, es mejor implementar TRIAC que relay. Si bien los Triac son muy sensibles ante las cargas inductivas, se puede armar una buena configuración y protección para que estos trabajen normalmente....
Algo como lo que sugeri en este post:
Click acá para ver
Cualquier duda, no dudes en consultarme, Saludos