We have Web Parts we have been building in VS2005 and had built equivalent projects with the same source code in VS2012. Pages with parts built with VS2005 show an error "not safe or can't find" when opened after the VS2012 parts have been deployed and vici versa - Pages built with VS20012 parts show the same error, when opened if the VS2005 parts are (re) loaded.
Names, versions, public key tokens are identical.
In both cases, new pages can be built with the currently loaded version of web parts. And the parts are fully functional. And repeatedly can be used if the associated version of web parts is loaded.
Clearly there is something SharePoint is using in it's compare of web parts that says the VS2005 vs. VS2012 parts are not the same, but it's unclear what property it's failing on.
Tried looking at parts with SharePoint Designer, examining with .dll tools, etc. but can't see any difference.
Having said that, the VS2005 parts are built as .NET 2.0 (which is all it would support), where VS2012 will only allow us to build in .NET3.5 mode - possibly that's a clue.