Restart level issue

I would unpossess off of the reset or on the death event of the player. Effectively you want to remove the player controller from the pawn that is to be removed so that you can possess the new pawn when the level is recreated. What you may wish to do is do an isValid check to ensure the controller still has a pawn before unpossessing, to prevent any unnecessary errors from occurring.