Mich würde mal interessieren, was Du denn überhaupt machen willst.
Zunächst würde ich die Funktionalität in einer Klasse kapseln:
Delphi-Quellcode:
Type
TStringMatrix = Class
Public
Constructor Create;
Destructor Destroy; Override;
Property Element [Row, Col : Integer] : String Read GetElement Write SetElement;
Property RowCount : Integer Read fRowCount;
Property ColCount[Row : Integer] : Integer Read GetColCount;
End;
Der Setter der 'Element'-Eigenschaft kann z.B. dafür sorgen, das genügend Platz vorhanden ist. Wahlweilse führst Du einen Setter für die 'RowCount' und 'Colcount' Eigenschaften ein.
Nun kannst Du in Ruhe ans Implementieren gehen. Erstelle Dir eine Testumgebung, gegenüber der Du die Klasse testest.
Übrigens: Durch das Auslagern und Kapseln musst Du gar nicht mehr 'höllisch aufpassen', dass Du auch alles wieder freigibst: Das machst Du an einer einzigen Stelle: im Destruktor.