SQL Server 2012 + SQL Server 2008R2 on the same VM I can't immediately find reference to it, but I remember reading somewhere that it's best practice not to mix versions of SQL Server on the same host. I believe the rationale was that often times, especially with clustering, you will need to install (Windows) hotfixes and those hotfixes might affect the different versions of SQL Server in unexpected ways. 

However, it appears that mixing versions of SQL Server is supported by Microsoft.

I've tried searching on this, but it's been difficult to find a definitive source telling me that it would be OK to mix versions of SQL Server. 

Can anyone definitively say it is OK to mix versions, or instead show strong evidence for why you should not?
We have mixed instances of SQL 2008R2 and 2012 on the same server running either windows server 2008R2 or 2012.

there are no problems at all and it is supported by Microsoft.

note that we are a company that make software for investment banks and our software is used in biggest and critical deals like Facebook, twitter, etc globally and we do hosting for different investment banks that use our software.