OK, using DXTBMP, I can see why the problem is happening. I am using photoshop elements, and transparency is displayed as a selection, either on or off. However, when I draw the transparency, it is drawn as a greyscale, so I am getting "a little" transparency in places where the selection does not show it. Think about the transparency as a 0..255, and the selection threshold is 128. Above 128 shows transparent, below 128 shows opaque. But in reality I am getting a full greyscale, and the game gets upset if there is a nonzero transparency on the magenta grid.
I can see this in dxtbmp and I can fix some instances of it, but that is tedious. I have access to photoshop 7, but I can't get it to display an alpha channel. I need to learn more about elements and/or photoshop, in order to understand better how to see what my transparency really is.
But at least I can *see* the problem now and I understand it, I just don't know how to use the tools well enough to avoid it.
The right software solution for this is to modify the targa parser in the game so it doesn't get upset about transparency on the magenta gridlines. I don't plan to learn the SDK to perform that. Second best is to write a batch targa read/write, which will detect the magenta gridlines and force 100% transparency on them. So, I will look up an API which can read/write targa with transparency.
Sigh. I guess mastering gamefont.tga is a "rite of passage" every modder must go through. It was really silly of Firaxis to choose targa for this when everything else uses dds; perhaps they had some reason I cannot think of.
EDIT: actually, the problem I had is with the drawing tool, not the file format. The same problem would have occurred in dds. See two posts down for the solution. I'm not going to pursue a checker/autofixer for this right now.