The issue you experience with multiple instances of controls on a page is a known problem. Look at this KB article for the solution. Please note that the article provides code that you can run on a single page. If you want to go through all pages of the site, you should slightly alter the code. I've attached the altered version.
The caching problems are related to another known issue with cache dependencies. In essence, when you publish a template, there is no notification to invalidate the cache for pages using this template. This has been already fixed and will be shipped with the Service Pack release. In the meantime, you can run the following code in the context of your application after you make a change in the template:
var pages = Telerik.Sitefinity.App.WorkWith().Pages().Get();
the Telerik team
Do you want to have your say in the Sitefinity development roadmap? Do you want to know when a feature you requested is added or when a bug fixed? Explore the Telerik Public Issue Tracking
system and vote to affect the priority of the items