I was pulling my hair out with this error for last 3 weeks but managed to fix it last night. I couldn't recreate it consistently as an occasional test restore would just work while others wouldn't - no change to either host or guest so very frustrating. Quite often doing a snapshot of the VM in HyperV manager would allow Veeam to work but deleting that snapshot would fail again - not a long term solution. Veeam support suggested that so that really eased the pressure of no backups.
On the SBS guest, I had VSS error after running following diskshadow commands on system disk (100MB system reserved and 300GB C: partition). Shadow copy snapshots were working on each drive so I didn't think to check diskshadow.
Microsoft DiskShadow version 1.0
Copyright (C) 2007 Microsoft Corporation
On computer: SERVER01, 6/04/2016 6:57:34 PM
DISKSHADOW> begin backup
DISKSHADOW> add volume c:
COM call "m_pVssBackup->AddToSnapshotSet" failed.
The last operation failed.
- Returned HRESULT: 8004230f
- Error text: VSS_E_UNEXPECTED_PROVIDER_ERROR
DISKSHADOW> end backup
I saw that it was a COM call failure so I restarted "Com+ Event System" service on the guest which restarted about 8 or so services (DHCP server,etc). I then restarted "HyperV volume shadow copy requester" and "volume shadow copy" services. Re-running the diskshadow command then worked fine but the Veeam App aware backup still failed.
On a whim, I tried restarting those 3 services again and not running the diskshadow commands, just the Veeam backup and it worked!
That was last night and it's done 3 backups since.
I really feel for anyone with this error and I can see how there are probably a hundred causes but maybe it can save someone the hours I spent.