Practically speaking, it of course all comes down to personal preference. If you feel comfortable or more confident wearing an undershirt, or think that it helps hide sweat, then by all means go for it. Personally, I find the notion that an undershirt is necessary in hot weather to be a fallacy; I lived in Southeast Asia for 2.5 years, and I found that when I wore an undershirt, not only would I would sweat much more than normal due to the extra layer of fabric, the sweat would then take longer to dry because it had saturated a layer of jersey material in addition to the quicker-drying cotton of my outer shirt. In terms of the visibility of the sweat from the outside, it seemed about the same either way--hence, no undershirt for me.
From a style/aesthetics standpoint, however, I don't think it's really debatable. If your undershirt is visible, that means you're either wearing an open-collar shirt with a crew neck T-shirt under it, or your shirt is so transparent that your undershirt is visible through it. Either way, you're doing something wrong. If you feel the need to wear an undershirt and you're not buttoning your top button, why not just go with a v-neck? And if your undershirt is visible THROUGH your shirt, then your shirt is too thin, plain and simple.