• Just to follow up, a call to Microsoft support revealed that editing the Provider Properties (right-click the provider in the providers folder) and ticking the "Allow inprocess" option corrects my problem.

    Existing linked servers will not pick up the provider setting, so new linked server objects will have to be created. But the new ones work.