Whenever a gotonextiteration condition is true all the runtime variables are deleted (the values). This is not very handy because it seems that pacing is also set to 0 seconds. Is there a workaround for this undesired behavior?
The pacing is not executed in case of the user goes to a next iteration for errors/validations. It's expected behavior. Now you can use a Try...Cache container to play a delay before going to a next iteration. Disable your settings at the user level and use instead the Try...cache settings to catch errors/assertions.
Regarding the reset of your runtime variables, it may also be a normal behavior if you used the "Emulate new browser between each iteration" at the Actions container level.
The goal of that option is to remove all the user context including runtime variables. That option has to be enabled when you would like to run a different user between each iteration of the Actions container.