Dann sollte sich Dein Informatiklehrer vorher schlau machen anstatt richtige Stellen als Fehler zu markieren - sage ihm das aber nie zu direkt - ich habe da auch schon schlechte Erfahrungen gemacht.
Die Free Methode, eingeführt von TObjekt, gibt das Objekt und sämtliche benötigten Ressourcen frei. Ausserdem meldet es sich beim Parent und trägt sich dort aus der Komponentenliste aus.
Falls Du mehrere Objekte löschen möchtest solltest Du immer von hinten (mit dem größten Index) entfernen, da sich die Indexnummern in den Listen ändern können.
Wie Tino bereits gesagt hast brauchst Du Destroy eigentlich nie direkt aufrufen. Den Zeiger auf Nil setzen brauchst Du auch nicht, da das Objekt automatisch aus der Liste entfernt wird und der Zeiger somit gelöscht wird. In Deinem Codebeispiel unter Verwendung von Free wären die Auswirkungen fatal - Du würdest ein Objekt löschen und den Zeiger auf das nächste Objekt in der Liste auf Nil setzen.
_________________
"Wenn Debugging ein Vorgang ist, Fehler aus einem Programm auszubauen, dann ist Programmieren der Vorgang, Fehler einzubauen."