I happened to configure my SP2010 farm using Powershell automated scripts and and as a result my default Metadata term store proxy was not default for any new or existing site collections. This issue manifested itself when I was trying to access the default site collection term store via the SharePoint API as a property of the TaxonomySession class.
I came across the following blog post, which got me as far as establishing the metadata service proxy as default for site collection. To access the DefaultSiteCollectionTermStore property I had to configure additional permissions.
By default my Metadata Service Applications allowed permitted access to the farm and application pool accounts, but my custom code was running under the context of the logged in user. To rectify this issue I could either elevate permissions to run as the app pool user, or give the logged in user explicit permissions by clicking through as follows in Central Administration:
1. Central Administration
2. Application Management
3. Manage Service Applications
4. Metadata Service Application (not the proxy)
5. Permissions (Ribbon)
6. Add the user via the dialog and give them permissions to access the application.