i didn't understand the whole post but i can only get the functions to work by specifying a pointer to the first record in the array like this:

[pascal]glEnableClientState(GL_NORMAL_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glVertexPointer(3, GL_FLOAT, 0, @lSubMesh.Vertices[0]);
glNormalPointer(GL_FLOAT,0,@lSubMesh.Normals[0]);
glTexCoordPointer(3,GL_FLOAT,0,@lSubMesh.TexCoords[0]);[/pascal]

don't know if that will work