During our development for a project from December 2007 using VS 2008 / Team Explorer 2008 and the TFS 2005, we faced a major issue with the check in / out for any new project to / from the solution.
We had been struggling with this situation, we consumed too much of hours in iteration 1 of the project regarding TFS source control problems! Sometimes 6 developers got pending on issues like that. Although we followed the recommended practices for structuring the solutions on the client and server sides, we were still struggling!
As a workaround for this, when adding a new project to the solution, we let the developers check in all of their pending changes, then add the project, then let the team get latest from the team project from Team Explorer Source Control and this worked.
For more info check this: https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=322539