The VBO index type can be either ushort or uint depending on the grid size. The comparison was checking how many quads are in the array, but this was incorrect; the size of the index elements should depend on the maximum value they reference, i.e. the maximum coord/normal element.