Вы чертовски правы,
Jabberwocky. Действительно, всё наоборот. Слона то я (неявного) и не приметил.

Спасибо!
Даже если вызовы идут и не из формы, а в коде, то там всё равно практически всегда будет присутствовать явная транзакция извне... Разве что вставку можно без транзакции сделать, и тогда всё-таки SalesLine.insert() пройдёт в двух транзакциях. Но это не сильно типичная ситуация, имхо.
Тогда сформулирую обратный вопрос: а зачем в методах
Sales/PurchSalesLine.insert/update/delete() организованы эти масштабные
try-catch блоки? Ведь получается они никогда не работают, или всё таки работают, но тогда что-то не понимаю когда?