Yeah, I thought I'd give my powerup objects the boolean instance variable (named "used"). When the player tags a powerup it is destroyed and the boolean is tripped (used = true). When a layout loads, if the object's "used" variable is true, destroy that instance of the object.
It works, but I'm running into the same problem of not being able to restore those objects on a game over. Even if I set their boolean values back to "used=false".
Would love to hear of a way to reset persistent object's instance variables!