The best you will be able to do is going to be a variation on what CC suggested regarding replacing array sub-sets.
If you do not know how big it will end up then over-allocate but still use the replace array subset.
The delays you are seeing are due to the memory buffers groing and additional memory need allocated as the array grows. The Replace array subset function operates inplace and re-uses the buffer it is passed. There is no clear KB regarding which array operations operate inplace and which do not.
http://forums.ni.com/ni/board/message?board.id=170&message.id=74847&requireLogin=False
Under Tools >>> Advanced >>> Show buffer allocations will show you where buffers are being allocated (LV 7.1).
If you post a zip or llb of you code I am sure someone will have more to add.
Ben