Which is why in our case we're keeping both the old and the new product around.
That said, we left the new and old systems running in parallel (all new users were directed to the new platform) for over a year before we even informed users we were shutting it off, then gave them another six months to migrate. And we never purged the old data; it's in cold storage in case someone ever comes looking for it.
Rewriting the codebase isn't something you should take lightly, but "never" is pretty damn strong word.