Ciao Patrizia.
Il metodo Remove del datalist, vuole un System.Web.Ui.Control come parametro.
La funzione FindControl, ti restituisce un System.Web.Ui.Control come risultato della funzione.
Quindi:
dl.Controls.Remove(dl.FindControl("nome"));
Se non dovesse funzionare neanche così, indica che tipo di eccezione ricevi che ci ragioniamo sopra.
Facci sapere....
Ciao