Thanks for your reply Steve.
The SSMS tool itself seems fine, in that I can browse all objects on my local server without a problem.
The error occurred when browsing a remote server, specifically a web hosting company's SQL Server, into which we login as a user with authority only over the database specific to my colleague's website, with no rights to the databases of any other websites which are also hosted on that sql server.
The details of the exception are as follows (cutting out the stack traces):
Failed to retrieve data for this request. (Microsoft.SqlServer.Management.Sdk.Sfc)
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
Server user 'user_name' is not a valid user in database 'not_our_database'. (.Net SqlClient Data Provider)
I should note that the object browser does work outside of the database list. That is to say, the management folders such as security, replication etc are all present. Further, the system databases folder is visible within the databases folder, and the system databases are visible within the system databases folder. But no other databases appear, including our database, so I can't graphically browse tables, procedures, etc.
Further consideration: The database server in question runs SQL Server 2000, I don't know whether or not SSMS is meant to be able to connect to an earlier version of SQL Server.
Blog on sqlservercentral