Is "waagent -deprovision" necessary for migrating an Azure VM to another subscription?

Solution 1:

You do not have to create an Image to do this. You need to copy the VHD to the new storage account and then create a "Disk" not an "Image" from it. Then you can use this Disk from the copied VHD blob to attach to your new VM as the OSDisk.

An image allows you to create a template to deploy new VMs from and as you mention above, this is not what you want.