Hi Dave,
This is the use case that certificate snapshots were designed for. When enabled, a “snapshot” of the certificate at the time it was downloaded by the user is stored in the database.
You can clear snapshots on a per-user or per-course basis but cannot enabled/disable them per course.
You approach sounds fine, but I would think that it would be easier to use the new clone for the new courses. In that way you won’t have to update all the old courses. Also worth noting that with this approach you don’t actually need snapshots as the old courses are using the existing template and the new ones using the new template. Snapshots would be helpful if you want to update a template with existing certificates that will continue to be in use both prior to and after the update.