The boiler relay is putting out lots of electromagnetic noise when it switches, you need to reduce your circuits ability to pick up noise. This might be as simple as putting ferrite toroids over all the leads where they enter the Arduino, or alternatively improving the grounding (putting it in a metal box?)
http://en.wikipedia.org/wiki/Ferrite_beadWhat basically happens is that long cable runs act as radio aerials - relays and switches carrying large currents act as spark transmitters when switching off.