I haven't completely figured the problem out. I experienced some losses of communication that were not occurring on a "regular" basis. My earlier experience was with a loss after 8-10 days and I wasn't experiencing that with the arduino hooked up to the internet at home (without the ZTE). Later I started to experience the odd loss of communication at irregular intervals, sometimes after only a day. As fall approached I took the crude route. I have a good old fashioned timer on the power supply for the Arduino. It is on 11.5 hours then off for 0.5 hours. Additionally, when the arduino is running, every 6 hours it does a 12.5 second reboot of the ZTE as previously discussed. So occasionally I have a disconnect and miss data for a few hours, but I don't have to drive to the cabin. This setup means that I couldn't use the continuous power supply and monitor the power line as I had planned. There may be a more refined solution, and I will work on that next summer, but during the heating season I won't be messing with it. There may be some problems with String commands causing memory overload on the arduino, however, I haven't found a difference using a Uno or a Mega.
Are you using an Arduino and Thingspeak? Or are you using a different microprocessor?
Here is a screenshot of the cabin temperature.