Ничего не понятно из примера. Где начинается/заканчивается блок Try/Catch. Что за команда sql выполняется второй раз? Причём тут "вставка в таблицу"?
Понял лишь что есть какая-то проблема с revertAssert. И что она воспроизводится только в комбинации с блоком Try/Catch.