Hm, actually both your and his code is incorrect.
You can either use chart.Series.Clear to remove all series
(this, naturally, does not need to be in a loop)
or TChartSeries.Clear to remove all data from the specific series' source.
wp: Are you sure that the code you posted ever worked for you?
Both in trunk and 0.9.30 the Clear method is in the TChartSeries,
not in TBasicChartSeries, so a cast is required.