After more investigation I was able to narrow it down to the dest provider.
If i use this, the command executes fine:
"c:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe" -verb:sync -source:package="test.zip" -dest:manifest="C:\-\manifest2.xml" -debug -verbose
MANIFEST FILE
-------------------------------------
<MSDeploy.iisApp>
<iisapp path="SampleSite" />
<runCommand path="c:\test.cmd"/>
</MSDeploy.iisApp>
If i change my dest to IIS, the command is not executed:
"c:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe" -verb:sync -source:package="test.zip" -dest:iisApp="Default Web Site/SampleSite" -debug -verbose
MANIFEST FILE
-------------------------------------
<MSDeploy.iisApp>
<runCommand path="c:\test.cmd"/>
</MSDeploy.iisApp>