dynamic arrays are quite slow (well actually the resizing is slow), a TList might speed up the process quite a bit... not sure how to use it with records though, although there is an example in the Delphi help

If you need to store the demo for a while I can upload it to my lycos webspace or you can request your own webspace at lycos they provide 50 megs for free!