An underscore ("_") is not a supported character for a server name according to the RFC standards and therefore Windows will warn you when trying to use it as part of a DNS name.
ASP.NET applications that use session state, like Team System Web Access, will work when invoked using the IP (http://18.104.22.168:8090/) but will fail after some crazy redirecting with a DNS error when using the server name (http://my_tfs:8090/).
You can add a DNS alias and avoid using underscores in server names in the future.
(Thanks to Hakan Eskici from Microsoft for pointing this out.)
Update: Hakan now blogged about this: Strange TSWA connection issue if the server name contains an underscore character.
Update #2: Microsoft published KB article 968549 about this.