Решение проблемы:
Запретить перемещение столбцов в DBgrid (или DBGridEh) Если в событие OnColumnMoved добавить строку:
DBGrid1.Columns[ToIndex].Index := FromIndex;
то попытка переместить столбец будет игнорироваться.
Если в событие OnColumnMoved добавить строку:
DBGrid1.Columns[ToIndex].Index := FromIndex;
то попытка переместить столбец будет игнорироваться.