I've found a bug in the Ext.Array class in the intersect method. I presume it's there in all versions.
In the main loop for traversing the minimum array, the for loop has the conditions
In the condition that's evaluated after each iteration, someone has been a little too clever and written the condition
for (i = 0,ln = minArray.length; i < ln,x = minArray[i]; i++)
This comma expressions ignores the actual result of the loop and returns the second expression as the result.
i < ln,x = minArray[i]
In my case, there is a 0 in the array of values, causing the look to stop prematurely.