Amigo primero es muy peligro que en tu sql directamente pongas los valores que recibes de la cajas de texto, te recomiendo que mires como agregar parametros al sqlcommand:
http://www.csharp-station.com/Tutori.../Lesson06.aspx
Por otro lado prueba con esto en la linea donde insertas la fecha:
"', convert(datetime,' " +
Convert.ToString(Calendar1.SelectedDate).Trim()+ "',102),'" +
si te da error proba en vez de 102 proba 103
si el error persiste imprimi como te queda la cadena del sql y la pegas aca para que la veamos, antes de tu try pon esto:
Response.Write(strSQL);
Response.End();
try