I have a GridView with a BoundField containing a DateTime value, but instead of "01.07.2006 00:00:00" I wanted it to display "June, 2007". Easily fixed with a DataFormatString="{0:MMMM, yyyy}", right? Not so... It refused to apply the format string. Luckily, Google came to the resque again, Raj Kaimal had the same problem and solved it.
Turns out that the field value is HTML encoded before the format string is applied. Add a HtmlEncode="False" to the BoundField and the problem is solved. Thanks Raj!
Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.