OK, got the final word regarding dp_process:
The begin/end transaction statements were supposed to have been removed before release, with the responsibility for establishing the transaction left to the caller.
Which is probably the way it should be, so one can start using the "with_transaction { .... }" paradigm with dp_process as well as direct insert/update statements.
We should track this...