Одним из способов, с помощью которого я могу легко достичь такого поведения, будет привязка данных к динамическому DAL. Есть несколько инструментов, которые могут помочь в создании этого поколения DAL, я рекомендую взглянуть на SubSonic .
Если у вас есть что-то вроде SubSonic, вы можете связываться с получающимися бизнес-объектами. Эти бизнес-объекты автоматически изменятся в случае изменения схемы в базе данных, и это нарушит ваш код привязки, что приведет к ошибке времени компиляции.
Обновление
Рекомендация Ассафа по использованию модульных тестов также является хорошей идеей. Это не решит вашу заявленную проблему, но это определенно то, что должно быть на месте, и это отличный инструмент для обозначения таких проблем.