Some syntax in PowerShell scripts do not cause the script task to exit with the proper exit code.
Example:
$Host.SetShouldExit(99)
Causes the script to exit with error code 0 making it seem like everything in the script was successful
ITMS 8.x
This was caused by the fix to another issue.
Use different syntax. For example:
Environment]::Exit(98)