Does the number of grid lines have "absolute" priority? I am asking because this conflicts with "nice" labels. Also zooming with fixed label count conflicts with nice labels.
I am attaching a demo which uses comboboxes with a variety of V/div and time/div settings. Whenever an item is selected in one of these comboboxes the axis range is calculated according to the selected V/div or time/div and a given number of divisions. A ListChartSource is assigned to the Marks of each axis which contains the labels to be used - this bypasses any automatic label calculation. Even when you zoom moderately these labels are kept, but of course they move further apart and finally will disappear. (All the settings which normally are done in the Object Inspector are done by code here so that it is easier for you to see the essential changes).
Alternatively you could set the Intervals.count of each axis to the predefined axis intervals, and activate this setting by choosing Intervals.Options := [aipUseCount]. You can bypass the ugly labels by selecting full scale values such that the divisions are nice numbers. For example when there are 6 intervals with 0.2 V/div then the axis maximum should be set to 3*0.2 = 0.6 and its minimum to -0.6 (assuming that 0 is in the center, like in a "real" oscilloscope, dividing the 6 divisions equally in positive and negative y direction). Of course, when you zoom here, there will still be 6 intervals but they will be labels with many digits... (Use the Marks.Format property to cut down the number of decimals, e.g. '%.3f' for 3 decimals only).
Of course, you can combine both methods.