Thanks, this is a good question.
ANTS Load virtual clients each run in their own thread. Part of the thread startup code is to load the script that the virtual client will run and one line of its' state information, if any is present.
What happens, then, is that one particular row of state information is attached to the virtual client and is used for as long as the thread runs. It doesn't matter how many times the script loops; it will use the same state information on each loop of the Run() method.
The only way to get a new row of state is to stop the thread. You may find that batch tests are good for this, as they ramp up and down. When a new thread is started as part of adding a new virtual client, a new rows of state information is attached to the virtual client.