A colleague of mine ran into this the other day:
He was calculating Fields A and B in the Form builder, but B's calculation relies on Field A's value.
What ended up happening was that Field B ended up not getting calculated. He tried doing a "don't calculate if Field A is null" as part of Field B's calculation, but it saw that and then did not calculate when Field A was actually filled.
The other thing (that should work) would be to put Field A's calculation inside Field B's, but in this case it was kind of a slow calculation (doing an intersect on the buffer of another layer in the web map), so doing it twice is not ideal.
What I'd like to see is a way to set the order that fields get calculated in. First A, then B, then C.
What would also be cool (not sure if truly a new Idea or just a related one) would be to set it to recalculate as necessary, or on manual intervals.