This story reminds me of a Java 1.x codebase I worked on that didn't use generics even though we were on Java 1.6 by then. The number of lines affected seemed astronomical--it was a retail trading app that had evolved over many years from using AWT to Swing JPanel and rarely other Swing components with the data handling similarly stunted. I took it upon myself to incrementally add type information in chucks as a side project. After a number of months, less than 12, I finally got to under 1000 warnings which was the first time I had a sense of how many there even were. A short time later it was done. Interesting thing was that there was only 1 bug exposed where an ClassName@pu4k3 sort of string would get added to a list/combobox under some race conditions. The codebase was much happier place to be after the changes.
This is another great example of the benefits of just rolling up your sleeves and doing the hard work one task at a time.<p>Don't get me wrong. I love high leverage solutions. But sometimes you just have to grind it out.