I think when most people say "don't do big bang re-writes", the reason behind it is the current development team unlikely has a complete understanding of the codebase. Once you have a million+ lines, no single person has a complete understanding of how everything works. People leave and new hires come up to speed, people forget how things work, etc., so the understanding of the system from an organizational perspective is rather fuzzy. Starting over in this situation is risky because the organization will inevitably have to re-learn forgotten things, re-implement and re-forget them to get to the same state that it was originally in. Much better to do one piece at a time in this situation.