First, you are running on 19.3 which is now close to a year old. Have you tried to apply the latest Release Update and see whether the issue is already solved?
I have seen from time to time that existing code stop working after an upgrade, and some times the cause has been a tightening of security or no longer allowed minor misuses of the system.
Have you went over your code once more to ensure that you are really things truly by the book? Since this is PL/SQL (I assume from the phrase package) the compiler should take care of binding to the correct data types, but I have seen before mismatch in bind types cause to weird errors after upgrade.
If you can get closer to pinpointing the exact cause of the problem then it might be easier to find a solution. If the error occurs during an insert, try to do the insert in an automous PL/SQL block with literals and next with bind variables until you can find, possibly, the one bind variable that makes troubles.