Thanks for your reply.
I've just discovered the issue and it's nothing to do with EPiServer! I had two form tags on the master page and this was preventing postbacks for controls in template pages that inherited the master page.
Check this one......What is postback
I have a standard .NET control with a text box and a button on it. The problem is that when I click the button nothing happens. There's no postback and my event handler is never called.
The strange thing is that in my master page I have another button and this does work, however any button that I put into a page template doesn't work.