Sometimes the architect of things is confusing to me. I built a replicating web system using file structure and include path logic in php. Basically I would first check the replicate sites folder for the page being pulled if not available then I would pull from the template folder. A much simpler but in many ways a more logical approach.
It would seem that this same idea although with some modification because you are dealing with the database could be implemented here thereby making the templates much more manageable. Why not pull the page based on parent template id and blog id. Order by id asc. This would a, mean that you do not have to copy over all data each time you create a new template b mean that you could change your pages by editing the master template. I know that you would have issues with the editing interface that would have to be dealt with adding to the complexity of the code but it sure would be more useful.
I have actually thought of scraping it and writing my own code but this is why I went with wordpress. Anyways, just a thought.