By default it will not execute the PostExec on abort.
For that you have to set PostExecOnAbortHostBackup to 1 in your global config file.
Not sure on the Failure-Case though, you can test that by killing the vbda manually.
There are also some other variables like ScriptOutputTimeout or ExecScriptOnPreview you may wanna have a look on and adust if needed.