First, I know the setup is cheap. This project has the segregation of environments for DEV, INT and TEST made by differently named workflows in the same folder of the same repository... and we use mapping variables to store the highest ID having been loaded and to detect the records still to be loaded. Not obvious to me, the value of the mapping variable stored the repository is not saved per mapping but at most per folder maybe even per repository. I did not test. Being aware of that, it explains the problem described in title. The "failing" mapping did not load anything because it is the INT mapping using the stored value of the variable stored by DEV/TEST. So, if the source is the same (and it is) you have loaded everything already in DEV/TEST and the detection of records to load fails miserably.
Things learned
- Do not be too cheap
- Do not use mapping variables to detect whether rows have been loaded already or not. (This is not necessarily restartable anyway.)