I don't even understand how I would use your Get-TaskPlus. I have a specific task that was returned by New-VM -RunAsync. There doesn't seem to be a way to tell Get-TaskPlus about that specific task. (Ignoring, as you point out, the fact that it seems to be some virtual local task instead of any actual task on the vCenter server.) If I have to resort to searching for the task, I might as well just search for the VM.
Thanks for your help, though. I at least feel like I'm not being dense and just totally using it wrong.