Кажется я догадался в чем проблема. Это логическая ошибка в моем коде. При чтении из реестра я записывал в object значение (false) не как bool, а как string.
Но в моем случае решение проблемы - это писать костыли, которые я очень не люблю. Я воспользовался примером из вашего руководства разработчика и добавил вот такой код в событие:
Код:
private void Table_GridColumnSettingsReading(object sender, EhLib.WinForms.DataGridColumnStorableSettingsReadingEventArgs e)
{
if (e.Settings.TryGetValue("Visible", out object visible))
{
if (visible != null) e.Column.Visible = visible.ToBool();
}
}