"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe"
Yes, that works. You can get that tool installed on your web server as well, download it from here. Which is the recommended way to do this.
Noodling a bit about the underlying problem, the issue is that WMSvc didn't have a time machine to guess what would happen in .NET 4.0. A rather big change in that .NET version is that the GAC is stored in a different directory. It used to be present in c:\windows\assembly in previous .NET versions, it got moved to c:\windows\microsoft.net\assembly in .NET 4.0
This matters a great deal when you need to register assemblies in the GAC of course, whatever tool does the registration needs to pick the correct GAC directory. On your desktop machine, it is done by having two distinct versions of gacutil.exe.
MSDeploy is unfortunately wonky about it as well, as pointed out in the article you linked, the content of the msdeploy.exe.config file matters. Version 3 contains this one:
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true" >
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
<supportedRuntime version="v2.0.50727" />
</startup>
</configuration>
In other words, it is suitable for .NET 4.0 and 4.5 web projects, but not for projects that target earlier versions. If that's important then either keep multiple versions around or edit the file (Notepad is fine) and swap the two <supportedRuntime>
elements so v2.0 is first. Locking in the .NET target version is of course best.