I'm aware of the differences between what is shown. However looking at the actual collations at the server, database, table and column levels they were always SQL_Latin1_General_CP1_CI_AS
In this case it turns out to somehow have been a busted linked server of all oddities.
Rebuilding the linked server that the queries were passing to resolved the collation conflict that was not there.
I had tried building it using SQL Native Client 10 and 11. 10 had worked when it was a 2008R2 server, and the client was still present on the server, 11 was working when I made actual connections to the SQL 2005 SP3 server.
When I changed the client to use MSOLEDB instead of the Native Client the collation error problems went away.