Цитата:
если поля в текущем буфере и в orig различаются, выполняет какую-то дополнительную логику
Ну вообще у нас любили так писать код. Это удобно. Пишешь код, который не смотрит на то, что идет - вставка или обновления, а тупо сравнивает различия.
Удивительно, что так долго бага не проявлялась.