It's more likely to be something on the MAS side of things then SQL Server - especially with queries mostly working. One thing you could try playing with is some of the linked server specific stored procedures. They just return meta data related to the linked server source. I think the tables view is actually populated from one of those:
You may also want to try sp_catalogs 'YourLinkedServer'
Limited results coming back from those is usually related to permissions on the source server or if you have a default catalog, database on the source server it can limit what is returned even if you do have permissions in other areas. You may want to check the login used for the connect with the linked server vs Crystal Reports.