It may be that you need to increase the decimal precision of the tick mark labels in order to see the exact tick mark values.
NumericAxisLabels yAxisLab = new NumericAxisLabels(yAxis);
yAxisLab.AxisLabelsDecimalPos = 2;
chartVu.AddChartObject(yAxisLab);
Also, we are not sure what you want. Do you want MAJOR tick marks to start at 40.4. Our own test show that when the scale is from 40.4 to 60, and you call CalcAutoAxis(40.4, 60), you end up with the start of the scale, and a starting major tick mark at 40.4.