on my dev machine, where i have the last 4 versions of SQL, i was able to create a linked server from 2008R2 to 2012, and successfully query a known table, so at least you can be sure it's possible.
i googled your error here, but i'm not sure which might apply.
/****** Object: LinkedServer [DEV223\SQL2012] Script Date: 03/21/2013 15:59:08 ******/
EXEC master.dbo.sp_addlinkedserver @server = N'DEV223\SQL2012', @srvproduct=N'SQL Server'
/* For security reasons the linked server remote logins password is changed with ######## */
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'DEV223\SQL2012',@useself=N'True',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL
select * from [DEV223\SQL2012].master.sys.tables
Lowell