Never rewrite from scratch my friend...never. All that code you consider crap actually has a lot of bugfixes, the new code has a new array of problems and most likely will also repeat some bugs from the past....
When the problem itself has changed or limitations of the current approach block further development is is often imperative to write from scratch. Don't let this get in the way of your trolling though. Change==bad, new stuff is always the wrong approach, blah blah blah.