コントロールに定義されたバインディング情報を取得する方法。

MSDNのBindingの説明(URL)
のサンプルを参考に

        private void textBox1_Validating(object sender, CancelEventArgs e) {
            Control c = (Control)sender;
            foreach (Binding thisBinding in c.DataBindings) {
                // Print the control's name and Binding information.
                Console.WriteLine("\n" + c.ToString());
                BindingMemberInfo bInfo = thisBinding.BindingMemberInfo;
                Console.WriteLine("Binding Path \t" + bInfo.BindingPath);
                Console.WriteLine("Binding Field \t" + bInfo.BindingField);
                Console.WriteLine("Binding Member \t" + bInfo.BindingMember);
            }
        }

バインディングしている列の名前が取得できた。
これで、列名を判断して妥当性チェックができる。
(追記)
このやり方は、コントロール毎に設定が必要で面倒なので却下。