guarda io piu di qualche volta ho creato filtri con le date e quello che ti posso dire è che quel modo costruire le query è piuttosto superato (e pericoloso) in asp.net

quello che dovresti fare è sfruttare la sezione WhereParameter del datasource e impostando un parametro per la data ad esempio

<asp:Parameter Type="DateTime" Name="MyDate" />

quello che fai nel codice è sempilcemente impostare la proprietà DefaultValue con la data richiesta

... per farlo funzionare ovviamente questo parametro dovrebbe avere un valore iniziale che lo puoi settare con la data minima o massima (dipende dal tipo di confronto) che la sorgente dati sottostante ammette .. ad esempio per sqlServer potresti scrivere qualcosa del tipo
codice:
if(!Page.isPostBack)
{
    MioDataSource.WhereParameters["MyDate"].DefaultValue = SqlDateTime.MinValue.ToString();
}
questa inizializzazione la puoi fare ad esempio nel page_init della tua pagina

per approfondimenti sui parametrei potresti guardare questohttp://msdn.microsoft.com/en-us/library/xt50s8kz.aspx