You will **always** have to rewrite.  

**Always**.

Sometimes sooner, sometimes later.

Plan on it.  Design so that you can rewrite.  Practice **Late Binding** and the other **SOLID** principles.

And rewrite as soon as you possibly can to keep the technical debt down.

Remember.  

You will **always** have to rewrite.

Get it over with as quickly as possible.  A hack is just debt.