Wyjaśnienie dlaczego nie działa formatowanie daty w np. asp:BoundField, bo data jest HtmlEncoded zanim zostanie podstawiona do formatu.
Więc zawsze połączeniu z formatem należy użyć HtmlEncode, przykład:
<asp:BoundField
HeaderText="Data"
DataField="OrderDate"
DataFormatString="{0:yyyy-MM-dd}"
HtmlEncode="false"/>