This is because you call AddXY for Chart1.Series.Items[ i] -- but this is a TBasicChartSeries which has only the most fundamental properties and methods. The AddXY method is introduced in the class TChartSeries from which TLineSeries is derived. (See the overview of the TAChart series classes in the wiki documentation:
https://wiki.lazarus.freepascal.org/TAChart_documentation#Series). Since you created Chart1.Series.Items[ i] as TLineSeries you must type-cast it to TLineSeries in order to have the TLineSeries properties available:
(Chart1.Series[index] as TLineSeries).AddXY(some_x, some_y, some_label, some_color);
Or, since you stored the pointer to the created series in variable FLine which is declared as TLineSeries you can call AddXY immediately, without type-cast:
FLine.AddXY(some_x, some_y, some_label, some_color);
A few notes on issues in your code:
(1) Assuming that the chart is empty when you call TForm1.PlotvaluesExecute the first created series gets the index 0 in the series list of the chart. But you call the AddXY for the series with Index Count1 which starts with the value 1 in the for loop. Therefore, your code will crash here because Chart1.Series[1] does not yet exist.
(2) You assign the caption of column i to the "Name" property of the series. This works, but probably is not what you want -- you probably want to define the text with which the series is identified in the legend. The corresponding property is called "Title".
(3) Since all data points get the same color, clBue, there is no need that you specifiy the color in the 4th parameter of the AddXY call. It is simpler to set the "SeriesColor" property globally for all data points of this series.
(4) After the "with StringGrid1 do" you begin a block within which you access StringGrid1 properties. But you insert another line between the "with" line and the following "begin" -- this has the effect that the "with" applies only to this line -- all what is inside the begin/end does not belong to the StringGrid any more!. Consequently, ColCount, RowCount and other identifiers are no longer understood. To avod this put the "j := RowCount" after the "begin" - but I don't see that it is used anyway, so better skip it altogether.
So, in total this is the code that I would use (not tested, some typos can be around here and there):
procedure TForm1.PlotValuesExecute(Sender: TObject);
var
Count1: Integer;
Count2: Integer; // Long <-- In Pascal there is no "Long" type, use "LongInt" instead; usually "Integer" is enough.
// j: Long; <---- not needed.
FLine : TLineSeries;
begin
with StringGrid1 do
begin
// j := RowCount; // This is not used anywhere
for Count1 := 1 to ColCount-1 do
begin
FLine := TLineSeries.Create(Chart1);
Chart1.AddSeries(FLine);
FLine.Title := StringGrid1.Cells[i,0];
FLine.SeriesColor := clBlue;
for Count2 := 1 to RowCount-1 do
begin
FLine.AddXY(strtofloat(Cells[0,Count2]), strtofloat(Cells[1,Count2]));
end;
end;
end;
end;