We’ve been discussing this problem, and we decided to solve it moving the restricted attribute checks to the template creation.
So in the final release the cpu/mem cost attributes are checked when the template is created or updated, not when it is instantiated. This has two main outcomes:
A user will not be able to create a template that will fail later. They will know from the first moment that they can’t use the cost attributes.
The admin can create a template with cost, change the owner, and the new owner will be able to instantiate without problems