Ремонт, а главное, рефакторинг. И потому, что Джоэл сказал так , а также потому, что, если это ваш код, вы, вероятно, узнали намного больше вещей, так как последний раз касались этого кода. Если вы написали его в .NET 1.1, вы можете обновить его до 3.5 SP1. Вы можете войти и очистить весь старый закомментированный код. Вы в 100 раз лучше как разработчик, чем когда вы впервые написали этот код.
Единственное исключение, которое я думаю, это когда в коде используются действительно устаревшие технологии - в этом случае вам лучше будет написать новую версию. Если вы смотрите на какое-то приложение VB6 с 10 000 строк кода с бэкэндом базы данных Access, явно созданным кем-то, кто мало знал о том, как работают базы данных (что вполне могло бы быть вами восемь лет назад), то вы, вероятно, можете потянуть быстрее, на C # / SQL решение за долю времени и кода.