My first suggestion was to apply the scale on the elements of the dragon’s body. I tried just what you do: A lattice over an array with a relative offset and using an empty to enlarge at the same time. It works just fine.
For some reason, “my” Blender runs wild when the scale isn’t applied and the copies made by the array become insanely huge.
But that’s not the real problem. The problem is that Blender does exactly what you ask it to do.
Your second image shows that you shifted the control points of the lattice along the Y axis to cover the body of the dragon. Well, it’s kinda expected that Blender does the same thing to the mesh too. I think that’s the way a lattice cage works.
To fix it, re-center the origin of the lattice. In Object mode: [SHIFT CTRL ALT C] --> Origin to Geometry. Or use the button “Origin” in the Tools shelf.
A reminder for the future: To bring a lattice where you want it to apply, move it in Object mode only. Moving the control points must be used only for the deformation.