You can try to set the Intervals.Nicesteps of the axis to 0.5 (or 5 or 50 - this does not matter). If the labels are too close you can increase the Intervals.MaxLength; I usually get good results for MaxLength = 120 or so.
But be aware that when the size of the chart increases the labeler may suddenly switch to intervals of step size 5 rather than 50 because of the restriction of the NiceSteps it has no other option.
If you insist on step size 50 under all circumstances you should add a TListChartSource to the form and link it to the Marks.Source of the axis. Then write code which adds numbers in the given step size between the rounded minimum and maximum of your data.
Untested:
uses
..., Math, TAChartUtils;
procedure PopulateAxisLabels(Chart: TChart; Axis: TChartAxis; ASource: TListChartSource; ASteps: Double);
var
ext: TDoubleRect;
min, max, value: Double;
begin
ext := Chart.LogicalExtent;
if Axis.IsVertical then
begin
min := floor(ext.a.y/ASteps) * ASteps;
max := ext.b.y;
end else
begin
min := floor(ext.a.x/ASteps) * ASteps;
max :=ext.b.x;
end;
value := min;
while (value <= max) do
begin
ASource.Add(value, value);
value := value + AStep;
end;
Axis.Marks.Source := ASource;
end;
The problem with the ListSource solution is that there is no refinement of the steps when you zoom into the chart