Эта проблема действительно началась с хранения дат в столбце типа varchar. Требуется только одна машина с неправильной культурой, чтобы повредить таблицу базы данных, поэтому все машины, которые пытаются ее прочитать, будут бомбить. Решите реальную проблему, исправьте таблицу.
В любом случае, вы захотите улучшить свой код, чтобы у администратора dbase была реальная возможность исправить ущерб. Бросьте исключение, которое дает достаточно информации. Что-то вроде:
string[] split = birthdate.Split('/');
if (split.Length != 3) {
throw new Exception("Invalid date string for table entry " + row["primarykey"].ToString());
}