The only way I know to record changes in an ICD file is to use MAX, other than directly editing it as a text file. Any changes you make during the execution of a program will, as you said, revert to the default values the next time you run the program.
To store the changes, the easiest way would probably to have the user use MAX for permanent changes. The MAX interface is relatively easy to use (after a short learning curve). You can get immediate updates after changing values by using the grab button to continuously update the image.
If you don't like the MAX interface, I think you are going to need to store the values in a separate file. You could try to change the contents of the ICD file by using string manipulation, but I don't think it would be worth t
he amount of time it would take to develop the tools.
Bruce
Bruce Ammons
Ammons Engineering