When looping with this wonderful tab2xl ado, I've encountered this bug a couple of times even though the variables was numeric. After a lot of trial and error, two things seems to resolve the issue:
1) labels. When I applied labels, and then ran tab2xl, everything worked fine.
2) used: "order var1 var2 var3, last" on the variables so I made sure they were last in the data and in the order that the loop specified.
I think maybe 1) only worked because it actually just placed the variables in order in the end of the dataset, so 2) might be the only thing needed.