I can't see the problem being circuitry or code as most of the time it runs without problem.
I can... But without more information I'm unable to help - you are asking for help. I've a network of 11 DS18B20s that have run for months without a single bad reading, BTW.
I get the usual, occassional dodgy temp readings from some the DS18B20 sensors (-127C & 85C) but these I get around with coding.
This problem sets all 5 readings from the sensors at 0C!!
As mentioned in the original post, resetting the Arduino Uno via the reset button doesn't solve the problem, only a complete power down works - very strange.
The effect of a reset and a power down on the state of the microcontroller's RAM isn't identical.
I'm thinking maybe a transient mains spike putting an excess voltage onto the Uno board from the psu which, in turn, spikes the DS18B20 sensors & since a reset,using the reset button, doesn't remove voltage from Uno board or the DS18B20 sensors, that's why a soft reset doesn't work.
I'll try another psu & let you know the outcome.
PS by the way, I live close to an electricity sub station & my mains incoming voltage is 251V-258V!! (should be 253V max under regs - 230V +- 10%)