First off, always convert dates from strings to DateTime values as soon as possible, and preferably on the machine on which the user typed them - that way there is a good chance that the Culture format matches the way the user has entered them. Or better still, use a DateTimePicker so it is presented in a culture-dependant way and =given to you as a DateTime directly. And try to avoid passing date strings to SQL - you generally have no idea what culture it is working in, so unless you reformat them to ISO standard (yyyy-MM-dd) there will probably be problems later. Pass the DateTime value directly as a parameter, and SQL will understand it regardless of it's source.
If you have to parse a date from a string, and you know exactly what format the date will be in, use DateTime.ParseExact
DateTime dt = DateTime.ParseExact("09.Mar.12", "dd.MMM.yy", CultureInfo.InvariantCulture);