I think there are a few possible reasons for the problem you describe.
1. The easiest.. you have multiple sets of texture coordinates and this should be easy to figure out by checking the counts ;)
2. You misunderstood the concept of the index buffer. The number of elements in the position buffer has nothing to do with the vertex count. It possible that you need different vertices at the same position (in the worst case one per adjacent triangle). You should think about the relations of the different buffer sizes and counts. E.g. IndexCount = PrimitiveCount * 3 (for triangles). If your model consists of multiple meshes you need to consider the offsets too. You may post the different buffer sizes and counts here and I’m sure that we will find out what’s wrong.
3. your model is messed up ;)