Hola ing.Jorge como te mencionaba aveces los parámetros que se definen desde el mismo sql, no siempre tendrán el mismo formato que los valores que se emiten desde C#.
Podrías codificarlo de la siguiente manera:
fecha =Convert.ToDateTime(dtpFechaFinal.Text); //Aquí deberías de especificarle el formato que esta usando tu gestor de base de datos para que no tenga problemas txtFechaFinal.Text = fecha.ToString("dd-MM-yyyy");
De ser posible podrías mostrarnos el formato de fecha que usa tu gestor de base de datos.
Espero haberte ayudado.