I have it narrowed down to this line...
Everything else is outputting correctly.
BGRAReplace(LElement, LOldFile.GetPart(Rect(x, y, x + LElementWidth, y + LElementHeight)));
For my 123456789101112 sample.
x.y outputs 0,200,400,600
So those go through the grid correctly
UPDATE: This line wasn't the problem.
See the solution below