Ah, I see.

I thought you had to use glVertexAttribPointer() if you were using interleaved data.
I thought glVertexPointer() and the others were only for contiguous data. (I didn't notice the stride parameter)

Thanks!
It is working now.