So wie ich das verstehe ist Rows ein 2-dimensionales Array in der Art [Zeile, Spalte]. Wenn dem so ist, dann ist die Schleife definitiv falsch, da ja damit "diagonal" gelesen wird. IMO müsste das stattdessen ungefähr so aussehen:
Delphi-Quellcode:
for i := Low(Rows) to High(Rows) do
begin
s := '';
for j := Low(Rows[i]) to High(Rows[i]) do
//String zusammensetzen
s := s + Rows[i, j] + ',';
Stringliste.Add(s);
end;