The useflag "X" for truecrypt requires wxGTK to be compiled with USE="X" which in turn pulls in x11-libs/gtk+. So USE="X" for truecrypt actually depends on gtk+ which of course depends on X. As USE="gtk" is more specific and also used in other cases (like nvidia-drivers[gtk] pulling in nvidia-settings pulling in gtk+), truecrypt's useflag "X" should be renamed to "gtk". Reproducible: Always
I just realized, that USE=X pulls in gtk+ in the case of x11-libs/wxGTK, which is basically the same issue. From what I could find out, that X useflag used to be a gtk useflag, but was renamed for some reason. So I guess there is a reason, that wxGTK uses USE=X instead of USE=gtk to depend on gtk+, which in turn makes it seem logical to let other packages also have a useflag X which depends on wxGTK[X]. Still, I think using USE=gtk in at least truecrypt makes more sense.
Given the current state of things, switching this USE flag does not currently make sense. Truecrypt depends on wxGTK beyond for just use of the GUI. Why upstream has chosen to do this, I do not know. All I know is, they do. Given the x11-libs/wxGTK is always a dep and all that is changing is the [X?] portion, it would honestly gain nothing by changing this to gtk. If the wxGTK devs ever decide to switch their X flag to gtk, I will follow suit with this. Until then though, I think this should stay.