One comment on your first suggestion (I don't take it your a programmer):
You forgot to take into consideration how much time to takes to evaluate the energy. You have to take a look at the times it takes in order to determine the optimal point at which to evaluate a protein before it is done in order to consider it for elimination. If the cost is too high, then the fold would have to be completed before evaluating the energy, other wise it would just be too expensive.