For the archives, the problem was caused by not doing a glFlushVertexArrayRange after data had been modified.
On Windows, when using fences with the NV extensions, a flush is not required.
However, on the Mac, the flush is still required, even when fences are used.
Additionally, we found that on ATI hardware, all VAR data must be in floating point. We initially used unsinged bytes for our color data, but when you do so, it currently pushes you to immediate mode.
ATI is removing this restriction soon, but it will only affect (I believe) the 8500 and higher. The original Radeon and below do not have the hardware capability to handle mixed data types in a VAR on the Macintosh, due to byte-swapping which must occur.
Wade
[This message has been edited by wadesworld (edited 02-14-2003).]