
The problem is not the number of array elements but the number of statements within a function. If a javascript function in IE7contains more than 32768 statements it generates this 'syntax error'.
Now a javascript function contains rarely more than 250 statements unless you are filling a big array with assigment statements of course .
A workaround for this is using multiple functions. Also it seems if you make multiple blocks (using { } ) within a function where each block contains less than 32768 statements the error also disappears. So the real cause of the problem in IE7 seems to be that they are using a short integer to count the number of statements within a block.