Чтобы фактически удалить автоматически сгенерированный столбец, необходимо отключить автоматическую генерацию после привязки данных.
Таким образом, код будет:
RadarServerEntities rse = new RadarServerEntities();
gvUsers.DataSource = rse.Users;
gvUsers.AutoGenerateColumns = false;
gvUsers.Columns.Remove("ID");
gvUsers.Columns.Remove("InsertDate");
gvUsers.Columns.Remove("Connections");
gvUsers.Columns.Remove("MachineID");
Я не проверял, что именно происходит, но, вероятно, в тот момент, когда DGV становится видимым, пропущенные столбцы повторно генерируются автоматически.
Итак, в этом решении у вас есть столбцы, созданные в момент привязки данных, затем вы отключаете их и удаляете ненужные столбцы. Отсутствующие столбцы не могут быть сгенерированы повторно.