I'm sorry. I must have had TOAD lodged in my brain from another questions.
Note: You've not actually mentioned that you can run the code successfully in the unwrapped state. The fact it works when wrapped in 9i, suggests the code is not at fault, but I think it is worth confirming.
Assuming the code works properly in the unwrapped state, then I think your only option is to contact Oracle support and raise this as a potential bug. Before doing this, make sure you have tested on the latest patchset 22.214.171.124 and PSU.