Не совсем понятна только фраза:
Цитата:
перехват ошибки в try/catch подразумевает неявный вызов ttsabort
...........
catch //implicit ttsabort
На самом деле откат выполняется не при перехвате, а при генерации самого исключения... А перехвата ошибок при этом может и не быть..

Хотя вероятно, вы именно это и имели ввиду..
А так вообще всё верно.
Дополню цитатами из
Inside Microsoft Dynamics AX 4.0:
Цитата:
Исключение (кроме конфликта обновления), генерируемое внутри транзакции, останавливает исполнение этого блока, после чего происходит откат всех вставок и обновлений, выполненных после первого оператора ttsBegin.
...........
Исполнение кода не может продолжаться внутри области действия транзакции, поэтому среда времени выполнения игнорирует операторы try и catch внутри транзакции. Это означает, что исключение, сгенерированное внутри транзакции, может быть перехвачено только за пределами транзакции.
...........
Исключение UpdateConflict - это единственное исключение, которое может быть перехвачено и внутри и снаружи действия транзакции.