Hello,
TestStand stores Step results in a Local variable called ResultList, which is an initially empty array of conatiners. After a test step executes, its results are added to the Locals.ResultList array. If you do not want the results of the "first pass" on a step to be recorded, you must delete its entry out of the ResultList array. If you are using TestStand 2.0.x then there is a callback called "PostResultListEntry". You can add code into this callback to delete the entry from the ResultList. All you need to add is a simple expression (i.e. statement step) that will delete the last element out of the array. You will need to add a variable in order to keep track of the number of times the test has failed. If the global informs that this is the f
irst fail on that test step, then delete the element, otherwise do not. This way when the seqeunce is complete, you will have your desired results. I suggest you experiment with the various Engine callbacks to see how they work. You can get access to them by selecting Edit>>Sequence File Callbacks... from within the Sequence Editor.
I hope this helps.