Welcome to the world of cellular! Tower connections often fail & need to be re-established. You need to check the AI/Association Indication value and confirm you are connected, plus the XBee does include a timeout, so after being idle the socket to DL/DE will have been closed. Leaving a cellular socket open 24/7 costs about 1.5MB of data a month.
What you probably need to do is have a loop, which checks MY, and if "0.0.0." issue some commands to re-start the connection. In my case, I leave the module normally in Airplane mode, then I suffer the delay to reconnect and get AI=0 again, which if 99.99% proof I have a valid active socket open to DL/DE and can do my web-service calls.