I had a problem were I had 2 DS18B20 sometimes both returning 0.00. I finally figured out why but thought I'd share the problem and solution. I did a lot of searching and I couldn't find anyone else who had had the same problem. I think this was because I had done very noobish thing.
Hardware setup - Duemilanove - WiShield 2.0 - 2 DS18B20 temp sensors were connected (not parasiticly)
library's: - WiShield library 1.13 - DallasTemperature library 3.4 - OneWire 2.0
The temp sensors worked fine with just the DallasTemperature multiple example. I mashed this example with the WiShield WiServer example (simple web page returning temps) and started getting temps of 0.00 for 1 in 3 reading. I removed the serial printing of the temp readings and but was still getting 0.00 for about 1 in 20 readings.
Turns out that I was stupidly using pin 2 to communicate with the sensors when the WiShield was using it as an interrupt.
Moral of the story, for me atleast, is make a list of all the pins on the board and note what hardware is using what pin.
Hope this helps someone else just starting on the Arduino path.