We use arrays too, though in a different way: we have several arrays that sends up entity information with the first element being which entity the update is for and the rest being the information (position, emotes, etc) we wish to send. In a sense, we use the arrays as "channels" and have several channels for different lengths of information... so we have several n-element arrays that we use to communicate with the client and by choosing the right one, we don't seen more inoformation than we need. So using arrays, even clumsy "all or nothing" 3DGS arrays, can be done quite successfully.
I'm curious if you are using the mashed up client/server code or if you separated them so client only has client and server only has server?
(PS: Very original workaround to not having to send position updates by having your characters be still!!! LOL Very cool!)