Similar happened to me and right or wrong I developed a theory.....
At the time I had two routers/ wifi access points, the main one connected to my FTTC broadband and a second one wired via LAN to the first. Lots of items on my network, some with static IP's most relying on DHCP allocated by the main router, so their IP's would vary. I had a certain range of IP's reserved in my router for static addresses, the rest for dynamic items, which connected occasionally.
My theory is that if the router doesn't see a transmission from the iSpindel for a long time, it might allocate the IP it gave it to another device. The iSpindel will then continue to try to send its reports as though still on its original IP and fail. A shorter transmission interval improves its chances of retaining the same IP to the end of the brew. The iSpindel seems to want to stick to using the same IP, even after it is power cycled, the way to force it to request a usuable IP from the router, is to go into the iSpindel's configuration, make a slight change (300 to 301 second updates) and save it.
I have suffered this three times now, but it is only a theory.
I have now revised my system, so almost everything on my LAN uses a static IP, allocated by the router, including the ispindel. This brew is my first brew since doing that - So far, all is working well. I have it set to report every 10 minutes and no reports have been missed in the four days since I started my present brew.