I'm with Leo - though I have't seen the code. I'd be more suspect of the sender than anything else in the chain. I've seen issues with some gcode that's generated with too many decimal places for the coordinates - you know, something like:
Some programs don't work with that many decimal places, so they get a little confused. It could just be one single line doing it, too, like if all but one lines have coordinates that end with a few zeroes, the app might just do fine with the truncating (not rounding) there and don't get upset. I saw it once in mach3 when testing out my gcode script for guitar fret spacing. The math took me to something like the 15th or 16th decimal place and mach didn't like that so much.
But in that case, I could see it in the gcode preview of mach3, so i didn't risk any cutters or material. Does your control chain offer any sort of preview of the gcode?