In my experience the re-write always takes much longer than expected. Sure you might be able to redo the core pieces to handle the new problem in X weeks, but then it's going to take another 4*X weeks to handle all the edge cases and make sure you're not breaking anything your clients/users have grown to depend on.
From another HN thread today: https://news.ycombinator.com/item?id=19245485
> The first 90% of the code takes the first 90% of the time. The remaining 10% takes the other 90% of the time.
And
> With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviors of your system will be depended on by somebody