You did not add a culture. If you set the provider to null, the parser method uses the current culture.
Did you try this?
string dateString = "11/30/2012";
CultureInfo ci = CultureInfo.InvariantCulture;
DateTime myDate = DateTime.ParseExact(dateString, "MM/dd/yyyy", ci);
Or with your code:
CultureInfo ci = CultureInfo.InvariantCulture;
string fromdate = Gridtimesheetdetails.Rows[e.RowIndex].Cells[2].Text.ToString();
DateTime dt1 = DateTime.ParseExact(fromdate, "MM/dd/yyyy", ci);
On my system, current culture is de-DE and with format = null I get a exception with this date format, but whenn I set the invariant culture, it works an parses the date correct.