I'm glad that you got it working.

If I remember correctly GL_CLAMP_TO_EDGE leaves a small border for filtering and GL_CLAMP actually clamps the coordinates to the edges leaving no border, this however may cause problems when using filtering. If you disable filtering then GL_CLAMP should look just fine. I think.

From the OpenGL specs:
Code:
GL_TEXTURE_WRAP_S

Sets the wrap parameter for texture coordinate s to either GL_CLAMP, GL_CLAMP_TO_EDGE, or GL_REPEAT. GL_CLAMP causes s coordinates to be clamped to the range [0, 1] and is useful for preventing wrapping artifacts when mapping a single image onto an object. GL_CLAMP_TO_EDGE causes s coordinates to be clamped to the range [ 1/2N , 1 - 1/2N ] , where N is the size of the texture in the direction of clamping. GL_REPEAT causes the integer part of the s coordinate to be ignored; the GL uses only the fractional part, thereby creating a repeating pattern. Border texture elements are accessed only if wrapping is set to GL_CLAMP. Initially, GL_TEXTURE_WRAP_S is set to GL_REPEAT.
EDIT: If you still get visible seams even with GL_CLAMP_TO_EDGE then you could try setting your texture coordinates to the range [0.001 - 0.999] or something.