I've found a lot of Quake's code to be considerably messy while working on OpenKatana and I agree sometimes it's easier to just rewrite all of it than to try cleaning it up. Despite the time it can take it seems there's usually more long-term benefits that way as you can then better document the code you write and it means you have to spend less time reading over the code to understand it which then in-turn obviously means you can make changes much more efficiently.
Just a shame it can sometimes take so much time and effort, but it's usually worth it...
Usually 