Единственный способ, которым мне удалось это сделать, - это проверить ширину столбцов после добавления в нее строк, проверить ширину, и если ее размер превышает мой максимальный, я устанавливаю его вручную после изменения столбцов AutoSizeMode на DataGridViewAutoSizeColumnMode.None.
foreach(DataGridViewColumn c in myView.Columns)
if (c.Width > myMax)
{
c.AutoSizeMode = DataGridViewAutoSizeColumnMode.None;
c.Width = myMax;
}
Естественно, вам нужно будет снова установить AutoSizeColumnsMode на AllCellsExceptHeader при добавлении / обновлении / удалении строк и повторной процедуре.