Make copy of blocks so removing doesn't cut loop short

@ryancarlson This was a bug that came in today.  Caused the loop to stop short if a block was removed, because the foreach must re-count every time.