this is a shot in the dark, but what if you try and wrap your mass update inside a pl/sql FORALL bulk statement ?
I haven't tested it, and I don't know how the redo will look that is generated by it and how the apply will handle it, but it would execute in an entirely different context from a regular sql update, so maybe that would work around your problem ?
Well, I did have 10046 turned on for the whole database and I did look at session waits from time to time as well. There is a 1.3-Gb trace file for the Applier process but it doesn't contain 10046 stuff. I'm looking through the other trace files. Nothing startling so far...