К сожалению, установка DateTimeInfo.TimeSeparator в пустую строку не поможет.
Но вы можете использовать DateTimeOffset.ParseExact следующим образом:
DateTimeOffset date = DateTimeOffset.ParseExact("2018-10-16T193850+0200", "yyyy'-'MM'-'dd'T'HH''mm''ss''K", CultureInfo.InvariantCulture.DateTimeFormat);
Хитрость заключается в том, чтобы указать спецификатор формата 'K', чтобы принимать все виды смещений.В дополнение к указанной выше строке даты будет также правильно проанализировано следующее:
"2018-10-16T193850Z" - UTC
"2018-10-16T193850" - местное время
РЕДАКТИРОВАТЬ
Мой ответ аналогичен ответу Тима Шмельтера, за исключением части 'K'.