mySensorData.print("Temp1 ");
At this point, you haven't opened a file for writing on the SD card, so mySensorData is still zero (NULL). I don't know what this will do. It ought to blow up completely, but apparently it valiantly struggles on. This is probably the cause of the weirdness.
Open the file, write the header info and then close the file just as you do in the loop() function.
BTW - 1.
When you need to have the SD card present in your sketch you should open it with something like this:
while (!SD.begin(chipSelect)) {
Serial.println("Failed to open SD card - retry in ten seconds");
delay(10000);
}
I often put the SD card in the PC reader to get the current file off it and then forget to put it back in the uSD on the Teensy/Arduino. This kind of loop means I can eject the card from the PC and put it where it belongs and the code will find it and keep going.
BTW - 2.
The temperature registers of a DS18B20 are initialized to the value of 85C on a power-on reset. If you read a value of 85C maybe it really is that hot but that's not very likely in most situations. The alternative is that either your code has not issued the command to start a temperature conversion or, if it has, it has not given the DS18B20 enough time to complete the conversion.
Pete
P.S. They should have used an invalid temperature value outside the specified temperature range rather than 85 which is the top of the range.