Sayed Ibrahim Hashimi's book, Deploying .NET Applications, contains a chapter on MSBuild. While I knew about the chapter in the book, I didn't realize that the chapter on MSBuild was available online until Eugene Zakhareyev mentioned it.
If you are looking for a good way to get started with MSBuild, MSBuild: By Example is a good place to start.
Even if you have experience using an XML task-based build tool, such as Ant or NAnt, MSBuild is significantly different. In fact, MSBuild is different not only in execution but also in syntax. Therefore, to really get a feel for MSBuild, you must get your hands dirty using the tool. As you begin to explore what MSBuild has to offer to your projects, you will naturally seek more knowledge of MSBuild. This chapter will help you get your hands dirty by showing you several examples of how you can use MSBuild. Also, this chapter will present some important techniques for using MSBuild effectively. We will provide a variety of tips, covering topics such as integrating MSBuild into Visual Studio and formatting your output. These samples are set up to be mostly independent. This is because each sample expresses a set of specific ideas, so you will be able to examine and try each concept on its own. After this chapter, you should have a much greater feel for building your applications with MSBuild. Following this chapter, we will continue the coverage of MSBuild by showing how to use some of its more advanced features.
You'll also want to read the article he wrote for MSDN Magazine, Compile Apps Your Way With Custom Tasks For The Microsoft Build Engine.