In our project, we\'d like to have our TFS build put each project into its own folder under the drop folder, instead of dropping all of the files into one flat structure. To
I haven't played with getting TFS/MSBuild to put the output files in separate folders, so can't give a direct answer. However, here are a couple of suggestions that I didn't spot in your link:
You could add post-build steps to the projects that copy the required files to a "deployment" structure. (This of course would also run on dev machines, which might be a pain). We use this approach for our libraries, whch are built and then copied into a shared libs (binaries) folder for other projects to reference them from.
You could add an MSBuild target to copy the required files where you want them. We've overridden the default "copy to drop folder" targets to copy the files to another folder, obfuscate them, digitally sign them, build them into an installer, digitally sign the installer, and then copy it (and other useful stuff like the obfuscation map files) and a list of changes since the last build to the drop folder. Ultimately adding your own post-build target gives you maximum control over exactly what gets put where. (On the minus side, you may have to manually add any new dlls or exes to the post-build copy target, which could be an irritation)