First of all: You misunderstood glDrawElements. This function takes as its last parameter indices to array of vertices/normals/texture_coordinates (not array with vertices / normals.....) - this can be used for indexed geometry.
Second of all: You misunderstood glNormalPointer / glVertexPointer / glTexCoordPointer. Its 3rd parameter is stride, which means stride in the whole array of vertices / normals / tex_coordinates. So its always 8*sizeof(float). And also its lasta parameter is pointer to first elements (vertex coordinate, texture coordinate, normal coordinate). So it should be for normals really indices, for textures &(indices[3]) (I think also indices + 3 should work) and for vertices &(indices[5]).
And for your first problem - you should use glDrawArrays, if you don't want to use indexed geometry. And you should use it in this way: glDrawArrays(GL_TRIANGLES, 0, totalVertices/8) - here "totalVertices/8" is your real count of vertices - each vertex has 8 parts - 3 normal coordinates + 2 texture coordinates + 3 vertex coordinates.
But I really don't understand how your Unhandled exception... can occur, when you use the same mechanism in first case and there it's working properly.