Ich weis dieses Thema ist schon länger her, allerdings hatte ich erst jetzt Zeit meine Vermutung zu testen, sodass ich nicht irgendwelche unbelegten Behauptungen aufstelle.

Also für alle dies interessiert ... ich kann eine Procedure so definieren, dass wenn ich dort ein Rollback absetze, nicht nur zB die Inserts innerhalb der Procedure rückgängig macht, sondern auch die änderung vom aufgerufenen Programm.
Genauso kann auch ein Rollback im Programm nach dem Aufruf der SP abgesetzt werden und auch die Änderungen der SP werden rückgängig gemacht.
Ist also alles nur eine Sache wie es definiert und eingesetzt wird. Und das gibt schon mindestens ab 5.4