You should be able to correct that with a simple Kinematics transformation to make x and y include a linear function of z.
x' = x + Axz * z;
y' = y + Ayz * z;
Here is an example of how to change the code:
A small change to TransformActuatorstoCAD would also be needed to force the call to InvertTransformCADtoActuators.
int CKinematics::TransformCADtoActuators(double x, double y, double z, double a, double b, double c, double *Acts, bool NoGeo)
double Axz = 0.005; // slope of z in x direction
double Ayz = -0.007; // slope of z in y direction
GeoCorrect(x, y, z, &x, &y, &z);
xp = x + Axz * z;
yp = y + Ayz * z;
Acts = xp*m_MotionParams.CountsPerInchX;
Acts = yp*m_MotionParams.CountsPerInchY;
Acts = z*m_MotionParams.CountsPerInchZ;
Acts = a*m_MotionParams.CountsPerInchA;
Acts = b*m_MotionParams.CountsPerInchB;
Acts = c*m_MotionParams.CountsPerInchC;
Are you capable of re-compiling the GCodeInterpreter.dll library with the free Microsoft Visual Studio 2015 Community?