Successful problem resolution, thanks to all who commented. I will briefly list the actions we took to eliminate the reproducible problem, as well as some useful information about programmatically accomplishing what MAX was being used for:
The channel range parameters were stored successfully (after being configured using MAX) into the cFP-2120's flash memory. The cFP processor would remember its parameters in any other benign environment, but some transient voltage difference that existed in our system between the processor DC power lead pair and the backplane metal box was causing the cFP system to regularly forget random channel gains, setting them back to the first gain in the gain list. On paper, it looked like the backplane metal box was directly connected to the power system's single point ground where the DC power "-" terminal also originated. In practice, some disruptive energy was getting coupled into the several foot long effective path between the processor power terminals and the backplane metal box ground terminal and this transient ocurring at power-off was causing the cFP processor to randomly modify the configured channel gain. No other wierd behavior was observed - at each power-up a fairly complex set of programs successfully downloaded and executed, the system was just forgetting its gains.
That problem is now solved by wire path re-routing, but along the way I discovered, with assistance from NI, that it is possible for a user program to programmatically set the gains of the AI-118, as well as programmatically read-back those gain settings to verify their correctness. For setting gains, the Advanced cFP Palette contains an Ethernet Configure Range VI. This VI does not know about the cFP-AI-118 (too new) but the VI will work successfully IF you are careful to choose "Unspecified Board Type" and insure that you ask for only one of the valid settings for the cFP-AI-118 (as shown available in MAX).
There does not seem to be a provided VI for reading back the configured range of an cFP-AI-118, but here NI tech support was very helpful in providing information about an UNSUPPORTED way of reading back the configured gain: Use a datasocket read to the cFP ethernet address of the form: "fieldpoint:\\192.168.81.61\FP\1AI\00\ConfiguredRange" where 1AI represents module position 1, analog input. 00 represents chanel 0 of 0 through 7. The return is a variant which I converted to a Uint. To interpret the meaning of this integer return, create an indicator from the "RANGE" control that can be found in the NI provided Ethernet Configure Range VI from the Advanced cFP Palette.
This works like a charm: we can read-back present configured gains and set configured gains both programmatically. Gotta love this stuff ! Thanks again to
Travis.Marsh@ni.com who, acting in the capacity of tech support, came through quickly when we were in a pinch!