Yep, writing out the problem and how to replicate it helps identify its cause. And sometimes gives you ideas of what to try next.
In this case, the steps I followed for the first post suggested the problem was most likely with the texture map, and more specifically the way it was interpolated around the edge. So I played around a bit with the settings (reverse color, white is transparent, etc.) until I found that seamless tiling worked, then that the “tiling” part wasn’t even needed.
I would think it shouldn’t be necessary and that the normal behavior for handling the edge of a texture should be “repeat edge pixel”. But apparently it isn’t. Luckily, the seamless option effectively repeats the edge pixel (technically it mirrors it, but since we’re only dealing with 1 row, it’s the same effect).
I didn’t test it, but this behavior probably affects all texture maps. It was just more visible in this case.