Hmm.. i'm still not convinced

At the init you say? It needs to be called individually when each texture is loaded somewhere after glBindTexture.

It is easy to spot if linear filter is on when scaling graphics. For the smoothing issue, linear should be responsible for the inner contains of texture but further antialiasing can smoothen the borders.