Hi Charley,
It's because you are only including in your shuffle sequence half of the items that you've defined. The latin square logic applies first, so Ibex first selects on item from every group of 6 (with '*' indicating the selected item):
Group 1: *a b c d e f
Group 2: a *b c d e f
Group 3: a b *c d e f
Group 4: a b c *d e f
Group 5: a b c d *e f
Group 6: a b *c d e *f
Group 7: *a b c d e f
Group 8: a *b c d e f
Group 9: a b *c d e f
Group 10: a b c *d e f
Group 11: a b c d *e f
Group 12: a b *c d e *f
...
This is how selection would proceed with the counter set to 0. As the counter increments, the offset increments (so e.g., with the counter set to 2, 'c' would be chosen from Group 1, 'd' from Group 2, etc.)
What you are then doing is selecting items from half of these groups. Given the way the data file is arranged, you are actually selecting one item from every other group. Hence, depending on the value of the counter, you get either all a c and e or b d and f.
So basically, you may get weird latin square effects if you include items in the data file which you do not then include in your experiment. I should make this more clear in the docs.
Alex