No problem, just lucky I wandered past again sooner rather than later

Watch out using RPi material... that is a full-blown SBC computer which has GPIO control, so there will be all sorts of flakey things happening there due to the operating system, multiple programs in the background, drivers, etc, as opposed to a microcontroller which is only needing to do one thing... run your program.
If you think it could be noise, maybe just have a flag that if it is set the ISR won't do anything, and the flag is cleared a second after the relay has switched. But if that was the software fix, it's probably just a workaround for the real fix of using some filter capacitors to get rid of the noise.
If you want a software solution only,
this thread might be worth a read (think the most complete code is in the last post)... looks like the OP had problems with excessive noise from the PIR sensor which kept it retriggering.