Hi,
I don't understand how your handle your data pointer, it's a bit obscure,
but if "ptr + pos3Ofs" is pointing to your vertices array your problem is "int(flstride) * sizeof(float)"
the number you are supposed to put here is the number of components, so "3" if your vertices are a list of 3d floats like that : x, y, z, x, y, z...
(it can also be an array of MVector3)
you should do : render->setVertexPointer(M_FLOAT, 3, ptr + pos3Ofs);
to give an example, here is a code to draw a 2d quad :
MVector2 vertices[4];
MVector2 texCoords[4];
render->disableNormalArray();
render->disableColorArray();
render->enableVertexArray();
render->enableTexCoordArray();
render->setVertexPointer(M_FLOAT, 2, vertices);
render->setTexCoordPointer(M_FLOAT, 2, texCoords);
render->drawArray(M_PRIMITIVE_TRIANGLE_STRIP, 0, 4);