Проблема была в том, что я не использовал автоматический режим и соответственно DataGridVeiw.Sort(), а использовал сортировку List<T>.Sort(). Сейчас я немного разобрался с BindingList и могу пользоваться прямой сортировкой DataGridVeiw.Sort(), но возникла новая проблема - как я могу теперь сортировать булевские значения, не говоря уже о сложных обьектах. Автоматически сортировка грида не умеет это делать, а воспользоваться IComparer я не могу, потому что у меня задано свойство DataSource. Как я могу, задавая DataSource, все ж использовать IComparer? Заранее благодарен.