I believe ive solved everything

I ripped everything off my breadboard and started again. I tested everything as i was connecting it up.

My first problem was the strobe. The way i have been using obv is not going to work. Since i have some boxes pre-made that controll lights (including dimming) i decided to try them out but only telling them to turn on and off. The strobe works fine and doesnt cause any interference. I have noticed that the strobe double clicks once every few seconds while connected to the box but i dont think that would cause a problem. I was just concerned that i might break the box.

Back to my circuit. Ive replaced the variable PSU with a static one. The variable one will only be used for the solenoid now. Ive added 10 small capacitors and instantly noticed a difference. As long as the relay doesnt turn on the whole circuit can run for about a second without power. PSU faults are now fixed.

The solenoid is the only thing that still uses a relay. As the solenoid is DC i have put a diode directly onto the solenoid itself. That seems to be fine.

2 of the smoke machines are now controlled by triacs instead of relays (the third should be the same but ive not tested it yet). They now dont cause problems.

Still using 10K for MCLR. Tried direct an 1K but there was no change.

Initial build time: 5 hours
Debugging time: 9 hours
Rebuild time: 7 hours

wow, this has taken ages. It would have taken a lot longer too if it wasnt for you guys. Without the suggestions here i think i would have given up ages ago. No doubt when i turn it on again tomoz something will have broken but all looks good for now

Anyway, its now 4:30AM and ive been up exactly 24 hours so i think i deserve a break. Ill be back on tomoz to answer any questions you might have and ill upload some pics (just for the fun of it)