Date & time goes off

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