С юридической точки зрения можно наказать подрядчика за некачественное выполнение работ, или выполнение работ не в полном объеме(и не возможно было выяснить это при приемке). В общем случае объем и качество работ прописывается в ТЗ. Также в договоре необходимо прописать порядок приемки работ, например в форме тестирования.
Если в результате эксплуатации результата работ выяснилось, что подрядчиком нарушены условия ТЗ и эти нарушения невозможно было выявить при приемке вы сможете привлечь его к ответственности и вероятно взыскать что-то. Зависит от условий договора.
Ваши юристы боятся слово "ошибка" вероятнее всего, потому что никто внятно не может сформулировать, что именно нужно от результата работ.
Получается потеря ваших миллионов - лень. Лень юристов при составлении договора, лень пользователей системы при приемке, лень руководства при работе с сотрудниками, лень подрядчиков в выяснении реальных потребностей заказчика.