Ни GridView, ни ObjectDataSource не сохраняют сущности среди запросов. Когда вы запускаете событие изменения данных в GridView, для вас создается новый экземпляр объекта. Это не та сущность, которую вы использовали для заполнения сетки - эти экземпляры потеряны.
Btw. использование STE в веб-приложении и хранение сущностей в запросах - это, вероятно, худшее использование, которое я могу себе представить. Каждый пытается уменьшить объем памяти в веб-приложении, а также объем передаваемых данных между клиентом и сервером, и вы идете в совершенно противоположном направлении.