The failed zypper dup could have been from a day or week ago. It only recompiles the policy binary in the post transaction hooks.
If you want to track it down take a look in /var/log
There will be zypper logs and in zypp/history you can see all your transactions.
I would start by grepping /var/log/zypper.log for
abortedorposttrans, seeing where the previous installation failed to run the post transaction hook. Then check the timestamp and see if it makes more sense what happened.I don't use opensuse, or zypper, (arch btw) so I'm sorry I can't give more detailed help.
The good news is I've seen multiple broken Ubuntu/Debian/etc systems from aborted upgrades too. So I don't think your situation is unique to your distro. It's more about learning what you system is actually doing when you update and how catch when something has gone wrong.