It took me an entire weekend using a debugger and a disassembler to work out what he would been up to, but in the end I worked out that there was a 5% chance that it would subtly screw up its own configuration (read from the db but held in an array) every time it was run.