This is a typical when page caching is involved, especially if the URLs are the same for both desktop and mobile. Maybe you can create groups of browsers and cache different versions of the pages. I don't think that creating one cached page per user-agent would be efficient since there are so many of them. You could either use .htaccess rewrite rules, or PHP, to serve from a particular directory.
I think that disk caching is awesome, but if the site gets super-busy (lots of Q&A), it won't be able to scale at some point, unless you leave the static page forever, until there is a change (why not?). Finally, if you are not using htaccess rules to serve the cached page, you could serve a stale page while rebuilding a new one. Thanks for sharing this!