Ty tam proste robíš s jedným poľom údajov. Takže new() použiješ len raz. Ostatné smerníky nastavuješ podľa tohto prvého, takže všetky zbytočné new() a dispose() musia preč. Pri hľadaní tam to dispose() nemá čo hľadať. Tým si iba dealokuješ to, čo si si alokoval. A vždy keď vytvoríš nový prvok poľa, tak použiješ new(). Potom samozrejme, keď končí program, tak musíš použiť dispose() pre každý prvok poľa.
Edit: Už asi 2 alebo 3 týždne chápem tomu, čo raz dávno povedal Jan Fiala a to, že v školách sa používajú zastaralé metódy. V Delphi nikdy nikto nepotrebuje vedieť ako sa robí so smerníkmi pri vytváraní databáze. Vtedy som sa hádal, že smerníky treba pochopiť, ak chce niekto vedieť programovať, ale teraz viem, že toto je zbytočné (myslím takúto úlohu, ako má dotyčný). Pascalu v DOSe už odzvonilo. Dokonca som uvažoval aj o vytvorení vlákna na túto tému.