Not sure if you're still at it with this or not, but try loading the STL file into your tool of choice (Repetier Host, Easyprint 3D, etc.) not the gcode.
It sounds to me like there's the equivalent to "Jump to X=N, Y=(M+15)" in the code you've pulled, and that's what's causing your second layer to print out at the edge.
I'm mucking about with my daughter's 2+ yr. old I3 Pro W and, other than it having some temper tantrums with narrow cylindrical or or post like objects, it's behaving - but, I always generate my gcode from the STL by slicing in Easyprint 3D and then printing via the USB connection. If you look up the Marlin firmware Gcode (don't have the link handy) you can learn to read the gcode fairly fast - it looks very much like Assembly code to me

This might let you figure out what's going on at layer two if you read the actual gcode.
Hope that's of help