Have just got a Sim800L and am starting to test it out.
From looking on the web, it seems the 800 is 99% compatible with the 900 AT commands , but there are the odd differences, though did not make a note of them at the time.
Also very mixed comments on if the bare 800 boards do accept 5v TTL logic signals or if , as I have done, a divider should be used on its RX pin to bring the level down to 2.8v
When you say it works perfectly for a few days, do you mean continuously ?
What about the Sim800 chips temperature, is it overheating or a problem with its power supply at 3.8 to 4.2v ?
I'm using various sketches and ATCommander to test the module, when yours does not not register are you still able to do other basic functions ?