So the problem is you're using a synonym for the linked server's objects, which doesn't play nicely with OLEDB's metadata catalog (that's what generates those numbers you see in the error message.) There are two solutions to this:
1) Call
DBCC FREEPROCCACHE
on the linked server. Since the database is dropped every day anyway, clearing the cache might not be such a burden on other users of the database.
2) Use full four part notation (ServerName.DatabaseName.SchemaName.ObjectName) in your stored procedure.