Right, I didn't notice the last line you put there.
I get that the documentation says
By default, only the Microsoft.PowerShell.Core snap-in is imported into remote sessions, but unless the cmdlets are excluded, users can use the Import-Module and Add-PSSnapin cmdlets to add modules and snap-ins to the session. Each module or snap-in in the value of this parameter can be represented by a string or as a hash table. A module string consists only of the name of the module or snap-in. A module hash table can include ModuleName, ModuleVersion, and GUID keys. Only the ModuleName key is required.
but with that said, nothing seems to imply while running these commands, that it actually treats ModulesToImport like anything other than modules, and trying to register WDeploySnapin3.0 as a module will fail.
Perhaps you ought to create an entry on connect and tell Microsoft about it, so they either fix the cmdlet to work as documented, or fix the documentation to prevent misunderstandings.