Solved it, it would appear that the arrays aren't fully usuable until the next top-level event, as is the case with various objects. I was creating my 2nd and 3rd array, then jumping straight into the function. The function needed to be called from a seperate 'On start of layout' event, i.e
On start of layout > Create 2nd and 3rd arrays and populate first array (which already exists in the editor).
On start of layout > Copy first array into 2nd and 3rd array.
Works fine like that, but not if I try to do everything in a single event.