Yes, it would have been cheaper and faster to throw this code away
and start over
Maybe. For another point of view, see
Joel Spolsky on not rewriting from scratch
I agree with adrianh. If a component is not broken, don't rewrite it.
Rewrite a component when you find a number of bugs in it.
But first write a regression test suite for the component.
I've seen many folks over the years throw out old code, rewrite it ...
and introduce a heap of new bugs in the process.
If you come into a new company and introduce a swag of new
bugs in previously working code, you will start to smell