Folks - I'm back. I found a flaw in my programming so I'm trying to approach it a different way. You guys have been tremendous so far and for that I'm thankful. See below.
GOAL - Stage 1, Find and retain max value (D1), jmp when max is found. Stage 2, Find and retain minimum value (D2), jmp when MIN is found. Stage 3, Find and retain max value (D3), jmp when max is found.
So far, to find MAX, and jmp, the following as worked:
D0 = analog dynamic measurement value. D1,d2,d3 are values retained.
SG0
-------MATH(D1) = (IF(D0>D1,D0,D1))

Works.
D1>D0 ---- JMP (SG1)
SG1
-------MATH(D2)=(IF(D2>D0,D0,D2)

DOES NOT WORK.
D2<D0 ---- JMP (SG2)
SG2
-------MATH(D3)=(IF(D0>D3,D0,D3))

Works.
D3>D0 ---- JMP (SG3)
The problem is the SG1 time period is dyanamic in application, so I need a function to find minimum to work, and it cannot be just a time spacer function. Without it, as things ramp up in speed, the analog value from the first scan (D1) and (D3) are being read from the same scan.
The low value point is EXACTLY in between the peaks of the max's that i'm looking for, so its naturally a good balanced separater for the stages.