How about releasing a new paid version which writes some data to the application's data store recording the fact that is the paid edition. Then release a new version of the same app that is free but obviously does not record that. However, the free version looks for the data written by the paid version and unlocks the premium features if that record is found.
The only downside is that you'll be depending all paid users upgrading to the new paid version before you release the free one.