Редизайн и ре-факторинг - это прекрасно, но иногда вам просто нужно осознать, что маленький дерьмовый проект, который вы поддерживаете, - это просто, и он никогда не будет лучше. Вы должны думать о вещах с точки зрения клиентов. Для них это всего лишь один из элементов оборудования, которое они используют для выполнения работы. Если это работает, они, вероятно, не видят никакой причины тратить на это какие-либо деньги, особенно если это какое-то обновление, которое они не могут увидеть или по-настоящему понять.
Я обновил несколько таких проектов с VB6 в тот же день. Может быть, конвертеры сейчас лучше, но мне не повезло с ними. То, что я нашел, работает очень хорошо, это создавать новые формы, которые выглядят как старые. Затем скопируйте и вставьте код из старой формы в новую форму и исправьте ошибки. Это идет довольно быстро. Мне также обычно удается внести несколько небольших улучшений, в основном в пользовательский интерфейс, где клиент увидит, что он получает что-то за свои деньги.
Что касается серверной части, я работал с некоторыми большими БД без ограничений внешнего ключа и всеми другими проблемами, о которых вы говорили. Он не идеален для удобства обслуживания, но работает нормально, и, похоже, это не тот проект, который требует много обслуживания. Тем не менее, вы должны убедиться, что нашли способ применить уникальное имя для каждого элемента, что бы вы ни делали. Я видел, что другие приложения совершают ту же ошибку, и это приводит к всевозможным проблемам.
Если каким-то чудом вы сможете убедить их выделить на это немного денег, я бы начал с нуля. Просто помните, что вещи всегда больше и занимают больше времени, чем вы думаете. И не забывайте, что вам также придется написать какой-то импортер данных.