После долгих тренировок, я думаю, я нашел полуприличное решение.
Кажется, проблема в том, что поля, которые "Visible = false", не включены или не связаны ни с какими командами обновления или удаления.
HiddenField отлично работает для команд обновления, поэтому, если вы не выполняете никаких команд удаления, все будет в порядке, если вы включите скрытое поле, которое связано (Bind (TStamp)) со столбцом метки времени в шаблонном поле.
Проблема в том, что если вы также выполняете удаление, оно не смотрит ни на какие связанные, скрытые поля.
Я придумал добавить временную метку к ключам данных в виде сетки. Таким образом, он будет считаться составным ключом вместе с идентификатором.
Короче говоря, добавьте метку времени в DataKeyNames GridView / DetailsView и т. Д. И удалите все видимые поля. Похоже, это помогло.