I have several projects hosted as separate TFS projects.
When I want to check-in changes, all the changes of all projects sum up together and commit as one check-in.
There are several options:
The reason for checking in all changes as one is to make sure the comitted version in source control is in a consistent, buildable state. Should you want to use a Continuous Integration or even Gated checkin build on the build server component that goes with TFS, you might get into trouble when checking in the projects one by one.