Hi Mark,
You can workaround this by removing the surface series from the series collection before hit testing and then adding it again after you're done with the hit test. You can also freeze the axes ranges before you hit test to ensure that the chart hit tests a plot with exactly the same axis ranges - for example:
// before hit test (fix the axis ranges as they were before you removed the grid surface
StandardAxis[] axisIds = new StandardAxis[] { StandardAxis.PrimaryX, StandardAxis.PrimaryY, StandardAxis.Depth };
foreach (StandardAxis axisId in axisIds)
{
NRange1DD rulerRange = chart.Axis(axisId).Scale.RulerRange;
chart.Axis(axisId).View = new NRangeAxisView(rulerRange, true, true);
}
// after hit test - restore the default axis view
foreach (StandardAxis axisId in axisIds)
{
chart.Axis(axisId).View = new NContentAxisView();
}
Hope this helps - let us know if you meet any problems or have any questions.