The gradient is the mathematic value of the slope, i.e. 2% (otherwise expressed as a 2m rise over a 100m run). The profile is what is actually "there" in virtual space, not the math value you entered. The program will automatically adjust the grade to ease/smooth any transitions (that's the first thing to check when you get wonky stuff like this). Additional points will refine the curves and allow better control of your geometry. I recommend a spline point about every 15 degrees or so, +/- 5 degrees as necessary.
The program doesn't use the exact gradient you set in surveyor, it gets close, and this can introduce errors. It says you want 2% between points A and D then it adds point B and C as the ends of the transitions, similar to the easements in curves, thus the grade from B to C will be more than 2%.
If you are working in HO scale then you have a fairly tight radius and that also makes possibilities for error. Triple check any plans you are working from and measure carefully, both on the plans and in surveyor. I have run into errors in published plans by well known designers.
Where it is double tracked I recommend laying out the interior track with fixed points (yellow circles in Surveyor 1.0) and use the "remove gradient" tool on the outside points (they should be white). The easy way is to then use the "smooth spline height" tool on the interior track and let the outside rest on the terrain that was generated. Otherwise you have to adjust each outside spline point to correspond with its adjacent interior one with the "get height" and Use Height" tools.
Hope this helps...