The machine has an application running that has a COM object (out of proc) loaded that isn't getting unloaded properly. When the user starts the shutdown process then Windows walks through the running processes in an undefined order and shuts them down. Evidently it is getting to the COM server before the app that is using it, hence the error.
Ideally you should identify what COM object is trying to unload and then determine what app has it loaded. Take a look in the Event Log to see what it says. Then resolve the issue in the app. Alternatively have the user shut down all their running apps before starting the shutdown process. If the problem goes away then it is one of the apps they are running. If it remains then it is potentially a system process or something that loads into the Shell.
At that point I would have the user log in, shut down all the apps they don't need (in prep for shutdown) and then use a tool like Process Explorer to find all remaining processes that are loading this COM object. Then you can start narrowing down the issue from there.