Connection To R2 Named Instance
This can be a client error, not a server error. That is, the server responds (as you note) to other clients but not a certain one.
Summary

remove all client aliases
ensure tcp is default and top protocol
ensure servername\instancename only is used

Background
It is possible that there is a &quot;client alias&quot;. The client alias will basically &quot;hijack&quot; servername\instancename and overrides port, protocol, instance, server etc. Personally I don't like them.
This can be done explicitly with the &quot;SQL Server Configuration Manager&quot; or by the Control panel ODBC thing. Check and remove it. Alternatively, you can poke around in the registry and remove it under:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo

A second option is that port is specified. If I use servername\instancename,1234 then this is effectively servername,1234. Instancename and resolution of instancename via SQL browser are not performed.
A third option is that the default protocol is named pipes not tcp. This can happen if someone has messed around with &quot;SQL Server Configuration Manager&quot; and is liable to show on server migrations when you drop np or such from the new server. However, you also fix this in the registry too.
There are more exotic option such as hard coded HOSTS file or wrong DNS. But generally is the a fault of the SQL Server client configuration.