Unfortunately there is not a method to modify how the return codes are handled in Provisioning. However in LDMS 9.5 we had introduced the Package Bundle feature, although your reboot makes it a bit trickier in that version (You might end up with a reboot between each package). Package Bundles can be set to install software in a specific order, and as of LDMS 2016 you can add reboots in between packages as well (Carrot for the upgrade). If you were to use Package Bundles it would handle the return codes as it does with regular distribution tasks.
This is no longer valid as we've already done our deployment and ended up having to break them all down into individual task sequences which was a huge pain. We're now in the process of getting LMS 2016 setup and it appears as though this version has the ability to do what we were wanting to do.