Hi Jeremy,
Thank you for your message. You're right that there are typically several queries when you request a page. If you want to avoid it, you need to set the following web.config parameters to enable the caching:
<add key="CMSCacheMinutes" value="10"/>
<add key="CMSCachePageInfoMinutes" value="10"/>
We currently do not plan to move queries to stored procedures since the most often used query "selectbypath" is assembled at run-time so that it can be parametrized. Moving the other queries to stored procedures wouldn't lead to a significant performance gain.
Best Regards,