OK thats old school GL. Now when you come to putting in the last row of texture coords then you need to ensure that the values your using in that last row are not the same as the first row even tho the vertex positions will be the same. I.e. if you have 11 points numbered in 0 to 10 inclusively then you would have pos[0] as 0, pos[1] as 1, pos[9] as 9 and then pos[10] as 0 so that it wraps around. But you need your texture coords to be tex[0] = 0, tex[1] = 1, tex[9] = 9, tex[10] = 10 and use GL_REPEAT.

Maybe stack overflow would be better suited now. Its pretty hard to debug apps like this without being able to step it through. Now that you have a good idea what is going on it should be quite quick to see where its occurring and then to fix. If you get stuck then print out the position and the tex coord in a table and see if when it wraps your not using a wrapped tex coord too so that the interpolator thinks ok ill just run right back through the whole texture map back to 0 in that last face.