#Start 3 VMs bound to IP address of host
VBoxHeadless --startvm VM1 -a -p 3389 &
VBoxHeadless --startvm VM2 -a -p 3390 &
VBoxHeadless --startvm VM3 -a -p 3391 &

#Shut them down using VBoxManage controlvm savestate (clean shutdown)
VBoxManage controlvm VM1 savestate
VBoxManage controlvm VM2 savestate
VBoxManage controlvm VM3 savestate


#Shut them down using VBoxManage controlvm poweroff (like pulling the plug)
VBoxManage controlvm VM1 poweroff
VBoxManage controlvm VM2 poweroff
VBoxManage controlvm VM3 poweroff

NB There is a bug in VirtualBox versions 3.2.10 and below where the VM will not start if you shut it down using savestate and you try to start it specifying the VRDP IP or port. In this case the VRDP IP and port are saved in the state and you must start the VM without specifying them.
The error displayed is:
ERROR: The machine is not mutable (state is Saved)
Details: code VBOX_E_INVALID_VM_STATE (0x80bb0002), component Machine, interface IMachine, callee nsISupports
Context: "COMSETTER(Ports)(bstr)" at line 1115 of file VBoxHeadless.cpp