I find Xojo CGI apps very vulnerable to returning a status 500 (user gets an Internal Server Error 500) when they’re asleep and hit by a mobile browser. I never see this happen when hitting a woke Xojo CGI app. So I’ve handled this by setting App.AutoQuit=False, starting the app and letting it run. I haven’t seen a status 500 since doing this.
However, since it’s still theoretically possible to get a status 500 when hitting a woke Web CGI app (though I’ve not seen that in my logs), I have a helper CGI app poll the main CGI app for status 500 hourly, and restart it if found. For the helper CGI app to be able to restart the main CGI app, it takes advantage of a special timer in the main CGI app (http://www.dev.1701software.com/blog/2013/09/08/upgrading-xojo-cgi-apps).