(I'm posting and answering this question in one go because it's taken me a good hour to figure this out - and I hope it'll help others)
Update - I've also posted an issue on the Asp.Net MVC Codeplex Issues board in case you're affected by this and you feel like voting for a fix. The code for the MVC tools is not open-sourced so we can't simply submit a pull request for what would be a very simple fix.
We've upgraded a large Web Forms site to include MVC 4 and we intend to run the two strands side by side for the foreseeable future (there's a massive Webforms codebase, so it can't just be converted quickly).
For the MVC side of things we intend to use only Razor for our views. We will also be running MVC code under areas initially, as we already have a complex proprietary routing engine that rewrites urls for the webforms side of things.
Having performed the correct steps in the project file and web.config, we've been able to get it all running nicely, but there's one niggling problem.
Whenever we do 'Add View' for the first time after loading the project, ASPX is always the selected view engine. To avoid confusion we really need that to be Razor by default.
I've looked at How to make razor the default view engine in existing project and I'm upgraded my project to Razor view engine, but VS2010 still auto-generates WebForms; and we do have Razor views in the project - so it can't be as simple as having at least one Razor view in the project.