Shader not working as expected. Possible Monogame bug?

Hi I am currently trying to use a shader which displaces vertices based on a calculation. I am currently having some weird issues - hence the topic. During my mass troubleshooting I have narrowed it down to the following:

In the attached FX file, if I change the “modelSpacePos.y = modelSpacePos.y + correction;” line so the correction is hardcoded, “modelSpacePos.y = modelSpacePos.y + 8.219748;” the vertex is displaced correctly. If i keep the code using the “correction” variable the vertex y position does not change at all!

Naturally I find this confusing as the correction value is approximately 8.2 at the vertex in question. I have added colouring to the vertex to confirm this.

if (correction>8 && correction < 8.5)
{
	output.Color = float4(1.0, 0.0, 1.0, 1.0);
}

In short, if I displace the vertex with a hardcoded value it works, if i rely on the calculation the vertex does not move. In both instance it is coloured as expected - proving that correction is roughly the same value in both cases.

Is this a bug in the HLSL to GLSL conversion tool? Is there a flaw in my logic/implementation somewhere? I am not really familiar with HLSL so am kinda free-styling it.

Thanks for any help! It is greatly appreciated!!
-Rufus

A link to the .FX file (context pasted in a txt file).
I have tried compiling/running the shader using the Monogame 3.2, and also compiling and running from he current develop branch.
https://dl.dropboxusercontent.com/u/13974932/Linknode/ShaderNotWorking

Nobody able to help? Would a sample app maybe help?

What would the easiest way to maybe bypass the MGF/FX files and write directly in GLSL? I only need to run on iOS/Android at the moment.

Thanks
-Rufus