One of my popular past entries is Working around invalid characters in XML. I don’t know if folks actually search for this, but it’s certainly something that I point them to when I want to help them understand the space a bit better.
If you’ve downloaded the Visual Studio Beta, you’ll notice that the .NET Framework beta has a new method in XmlConvert (among a few others): IsXmlChar. This allows you to look at a character and decide whether it’s valid or not. Some of the other new methods include checking for valid surrogate pairs or complete strings.