I'm happy to say that cloning a VM (using -VM) seems to be working well in the latest build of PowerCli
PowerCLI C:\> Get-PowerCLIVersion
PowerCLI Version
----------------
VMware vSphere PowerCLI 5.1 Release 2 build 1012425
When using a previous version (PowerCLI 5.0.1 build 581491) create a VM from template worked, but had to perform some workarounds to ensure that PlainText = $false by using the DuplicateCustomizationSpec() method.
I just started allowing our deployment scripts to clone existing VMs, but they were taking a really long time in the customization phase, weren't joining the domain and the local admin password was all screwed up
[this did not work in 5.1 build 1012425]
$spec = Get-OSCustomizationSpec _tmpSpec_ben-deploy3
new-vm -name 'ben-deploy3' -vm 'ben-deploy2' -datastore MYDATASTORE -vmhost MYVMHOST -OSCustomizationSpec $spec -DiskStorageFormat Thin
Start-VM -VM ben-deploy3 -Confirm:$false -ErrorAction Stop
But after a quick test works on Powercli 5.1 R2 build 1012425. The VM goes through customization quickly, joins the domain and the local password is what I expected.
FYI, I don't put passwords in the $spec, rather I create template specs from vCenter and allow the passwords to live in those specs.
Ben