Pauly, you will have a problem if the temperature goes above 99 degrees (your buffer only holds two digits plus the terminating null) but I guess that may not be the issue here.
Can you check the wall wart and see how much voltage it is feeding to Arduino. The LCD backlight draws a lot power and the onboard regulator may be overheating.
If thats not it, try commenting out the following lines in loop:
/* temporarily comment out these lines:
WeatherOut();
GetSun();
TempWrit();
WeatherIn();
weather=" ";
TempWrit();
*/
This will tell us if we need to look at those functions or somewhere else