If you use GL_NEAREST you lose all the details from the texture itself and effects you can achieve with it.

It's in your texture coordinates. I didn't use full area of the texture but a slice through the middle, that way the end points don't go as smooth. To make end points smooth requires quads also to the end points.

This would be the exact same to use a 1 dimensional texture 4x1 0,255,255,0 but my engine isn't supporting them yet.

This is the exact code used, not very optimal but works...:
[pascal]glLoadIdentity;
glTranslatef(0,0,-5);
glSetTex(dotTex);
glTranslatef(-2,-1,0);
glRotatef(angle(-2,-1,2,1),0,0,1);
d:=hypot(4,2);
glScalef(d,d,1);
d:=0.01;
glBegin(GL_QUADS);
glColor3f(1,0.5,0.2);
glTexCoord2f(0.0,0.5); glVertex2f(0, d);
glTexCoord2f(1.0,0.5); glVertex2f(0, -d);
glTexCoord2f(1.0,0.5); glVertex2f(1, -d);
glTexCoord2f(0.0,0.5); glVertex2f(1, d);
glEnd;[/pascal]

When i render that with d:=0.1 i get these (added together with msPaint):