OK, well you should have the code as I have, as stated previously, uploaded it to the wikisend URL as initially directed.
The array in question is named tracedata.
I had placed everything in one module to try to make it work prior to you suggesting this. The uploaded data is a single module.
The difference between global and public that you have told me about is interesting but not relevant in this case as I have placed everything in to the same module and the associated form just activates the procudre in the module.
I don't think that it is fully a scope issue. I've been playing around with the problem this evening using a small array and some dummy data and the array is seen in other procedures as expected. I think the problem I've been having is connected to the size of the array. In my prototype the tracedata() array is redimensioned as tracedata(2159, 12, 654, 2), following a data snooping run to check the requirements, and has to be set as LONG as there is insufficient memory otherwise: I have to multiply coordinates, which are to one decimal place, by ten to make them LONG to restrict the memory required.
Is memory requirement close to the limit likely to affect scope?