Имеет ли смысл, чтобы при очистке столбцов таблицы данных удалялись все строки?
Если вы удаляете все столбцы, с ними не может быть связанных строк. Вам понадобится хотя бы один столбец, чтобы иметь строки.
Почему бы вам просто не переключить видимость столбца?
dgv.Columns[sColumnName].Visible
В табличном представлении, таком как DataGridView, если столбцов нет, строк не может быть, и наоборот.