Вы говорите: «Код работал нормально, за исключением нескольких часов на прошлой неделе», но вы точно не указали, когда это было, или в каком часовом поясе вы находитесь. Есть ли вероятность, что это произошло при переходе на летнее время?
Вы не должны использовать TimeSpan.Parse вообще.TimeSpan НЕ представляет время суток, несмотря на то, что оно выглядит как чч: мм: сс.TimeSpan представляет фиксированную длительность времени.
Если вам действительно даны отдельные строки даты и времени, соедините их вместе перед разбором, например:
DateTime dt = DateTime.Parse(date_string + " " + time_string);
Вы также должны знатьпоследствия для строки, которую вы отправляете, в часовом поясе. Дополнительные сведения см. в статье MSDN по адресу DateTime.Parse .