I needed to use texture environment functions in order to make it work! That's definitely something I'm going to spend more time studying, now. Here's my latest code:
glClientActiveTextureARB (GL_TEXTURE0_ARB);
glEnableClientState (GL_TEXTURE_COORD_ARRAY);
glArrayObjectATI (GL_TEXTURE_COORD_ARRAY, 2, GL_FLOAT, sizeof (VERTEXDATA), gluiVertexObject, 0);
glClientActiveTextureARB (GL_TEXTURE1_ARB);
glEnableClientState (GL_TEXTURE_COORD_ARRAY);
glArrayObjectATI (GL_TEXTURE_COORD_ARRAY, 2, GL_FLOAT, sizeof (VERTEXDATA), gluiVertexObject, 0);
glActiveTextureARB (GL_TEXTURE0_ARB);
glEnable (GL_TEXTURE_2D);
glBindTexture (GL_TEXTURE_2D, texture[polygon.texindex[0]]);
glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
glActiveTextureARB (GL_TEXTURE1_ARB);
glEnable (GL_TEXTURE_2D);
glBindTexture (GL_TEXTURE_2D, texture[polygon.texindex[1]]);
glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
glDrawElements (GetDrawType (polygon.shape), polygon.vertices, GL_UNSIGNED_INT, polygon.vertindex);
glClientActiveTextureARB (GL_TEXTURE0_ARB);
glEnableClientState (GL_TEXTURE_COORD_ARRAY);
glArrayObjectATI (GL_TEXTURE_COORD_ARRAY, 2, GL_FLOAT, sizeof (VERTEXDATA), gluiVertexObject, 0);
glClientActiveTextureARB (GL_TEXTURE1_ARB);
glEnableClientState (GL_TEXTURE_COORD_ARRAY);
glArrayObjectATI (GL_TEXTURE_COORD_ARRAY, 2, GL_FLOAT, sizeof (VERTEXDATA), gluiVertexObject, 0);
glActiveTextureARB (GL_TEXTURE0_ARB);
glEnable (GL_TEXTURE_2D);
glBindTexture (GL_TEXTURE_2D, texture[polygon.texindex[0]]);
glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
glActiveTextureARB (GL_TEXTURE1_ARB);
glEnable (GL_TEXTURE_2D);
glBindTexture (GL_TEXTURE_2D, texture[polygon.texindex[1]]);
glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
glDrawElements (GetDrawType (polygon.shape), polygon.vertices, GL_UNSIGNED_INT, polygon.vertindex);