I have a set of targets and some of the values are as rows in a table.
Unfortunately, I don't know which will be present and which ones won't.
Therefore, I initialized all of them to 'unknown' and then looped over the available rows to fill the known ones with appropriate values (see workflow).
Stepping through the loop gives the correct values in each execution step.
After the loop, all values are back to their initialization values.
is the example workflow you provided correct? I can't execute any part of it unless I add nodes of my own and even then it is difficult to figure out what exactly it is you are trying to achieve.
But simply judging from the node configurations: As you loop through rows of an input table, the loop end collects the data per handled row but not the values of the flow variables - hence the changes to the flow variables are "forgotten" once the loop finishes. Alternatively you could use a recursive loop ("Recursive Loop Start/End" nodes), collect flow variables into an output table via the "Variable to Table Row" node and then pass this table with flow variable names and values back to the loop start in each iteration so that at the end of your loop you receive a table with the updated flow variable values. There are more ways of achieving what I believe you are looking for, but it's difficult to say what is best without a proper example workflow.