I can't comment on the built in recovery tools within WinRunner as I don't use many of the default reporting or control they give you through their wizards.
Think about what you need and design your own. Write each screen change to a database or a local file, you'll then know where you are out in your application. Create functions that will take this information and navigate to the location in your applications at the time of your error.
This sounds good. As WinRunner Recovery scenario may not be sufficient to handle our need. Also in the User Guide they are telling, it may slow down the performance if we implement Crash recovery.