Why?
Why are you converting a user string to a DateTime, then converting that to a string, in order to convert it right back to a DateTime again?
The error you are getting is probably in the second line, because you are specifying the exact format of the string you are converting the DateTime to, but leaving the ToDateTime conversion to use teh standard system wide date format - so if they don't match you will get an error.
What it looks like you are trying to do is read a DateTime from the user, then throw away the time part - which doesn't need any string conversions at all:
DateTime dtstring1 = DateTime.ParseExact(lblStartDate.Text, "M/d/yyyy h:mm:ss tt", CultureInfo.InvariantCulture);
dtStartDate = dtstring1.Today;
Will do it.