I just found out that contrary to my understanding, the order that the rivers and reaches are returned, when calling the Output_GetRivers and Output_GetReaches functions does not necessarily correspond to their ID numbers. I think 99% of the time they will correspond, but if you add a second reach upstream to an already established river, I think that throws off the numbering. So, to work around that, when using the Output_NodeOutput or Output_ReachOutput functions, instead of using the For Next loop index numbers i and j for the river and reach ID’s, use the ID’s returned from the Output_GetRivers and Output_GetReaches functions.
Sorry for the confusion.