Visual Studio 2010 introduced the concept of a Project Collection, so the hierarchy looks like:
Server - Project Collection A - Project A
- Project B
- Project Collection B - Project C
- Project D
- Project E
In TFS 2005 and 2008 the Project Collection didn't exist, so the hierarchy looked like this:
Server - Project A
- Project B
- Project C
Due to this change you need to point Visual Studio 2008 and 2005 to a project collection and not to the server. They think each ProjectCollection is its own server.
So, when connecting from an old version of Visual Studio to a 2010 or newer version of TFS, you need to use the projectcollection uri in the connect to server window, something along these lines:
https://yourtfsname.visualstudio.com/DefaultCollection/
http://yourtfsname.yourdomain.com:8080/tfs/DefaultCollection/
In order for Visual Studio 2005 or 2008 to connect, you also need to ensure that the proper forward compatibility patches are installed. This blog post covers all versions of Visual Studio and Team Foundation server and lists exactly which patches you need to install and in which order to install them (order is important!).
The version of Visual Studio, TFS and Windows influence the exact set of files to install, they're all listed in the blogpost mentioned.