I personally prefer them on at very close ranges on the realism servers I frequent. The reason I have for this is so that if a teammate (or four) are in cover near me, I can look at each real quick, have an idea of who is near me, and then know who I need to direct my VOIP chat at, name-wise, to get their attention and to teamplay with. As far as immersion is concerned, it's great and all to have them removed, but it's far more useful to have the very close range names pop up above teammates' heads due to my previous reason. Without that, trying to teamplay with teammates nearby turns into a VOIP conversation of "Hey, who the hell is in cover right next to me?" followed by four replies from people all across the map.