Here's one I wish I'd found last time I looked: it's a guided tour of a basic .csproj file.
Here's something about msbuild integration with Visual Studio, with a bit about how VS uses the msbuild settings.
And finally, the msbuild team has documented the format of error messages from build tools, which is required to get the error messages into the VS error list. I still don't know how to get 'information' messages to show up though.
Sadly, none of this answered my original question: is it possible to get Visual Studio to invoke a custom target in an msbuild file? I wanted to add a 'build without running unit tests' target as a menu option. Since the project is set up to fail the build if the unit tests fail, this would be really handy to debug crashes in the tests!