>System.Data.SqlClient.SqlError: The operating system returned the error '5(Access is denied.)' while attempting 'RestoreContainer::ValidateTargetForCreation' on 'c:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS2008R2\MSSQL\DATA\Lepton.mdf'. (Microsoft.SqlServer.SmoExtended)
Perhaps
What was that error again? will help. Check the account that your SQL is running as, and make sure that that account has the rights... it may be that 2008 has set some attributes or protection there, so any nasty intruders like SQL 2012 wouldn't be able to touch it.
The simpler way, without much fuss about rights, would be to create your restored database in some folder different from this, which wouldn't be touched by hostile software written by competing companies (for instance, Microsoft).