Some syntax in PowerShell scripts do not cause the script task to exit with the proper exit code.
Example:
$Host.SetShouldExit(99)
The above 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 a different issue.
Use different syntax than what was shown above, for example:
Environment]::Exit(98)