as one developer told: "we were never short of reasons to get this error".
The only thing to do is to design application and maintenance procedures such that the damage is minimized as much as possible. Note that Oracle 8 tries to minimize the occurence of such kind of errors as well as second call to the package can finally succeed.