An array may not have more than 65,000 elements. >
Each array uses ONE variable name. >
Each variable uses one variable name. >
There may not be more than 65,000 variable names in existance. > >The issue is that the 65,000 count is not an absolute limit because there is also a memory pool limit for the storage of the contents of the variables and arrays. When arrays are in use it is possible, even probably that the 65,000 variable names will not be able to be realized due to exhausting the memory pool before the name space is fully used. It is also possible to exhaust the memory pool before the 65,000th element of an array gets a value assigned to it. So technically, it is also not guaranteed that you can have an array of 65,000 elements.
In addition, it's the floor of (MVCOUNT,65000) that sets the name limit. I'm not certain if fields, aliases and the like count against the name table size limit or not.