I'll theorize that at the 4.1V USB could supply, the 1-wire device was able to output a high enough logic "1" to satisfy the Arduino at 4.1V VCC. However, at 5V VCC, it was not able to do so. Putting the 10uf cap on the 1-wire buss stored enough energy to allow the DS18B20 to run at full spec and therefore satisfy the input requirements of the Arduino.
This is if you were running the DS18B20 in parasitic mode, i.e. without a separate 5V power supply. Otherwise, I have no theory.