VC>Это как? Я что-то не понимаю? Пока нашёлся единственный метод повторного чтения с начала потока: кроме Seek надо ещё создать новый StreamReader. Складывается впечатление, что внешний поток содержит собственный указатель позиции, не связаный с указателем базового потока... Разьясните, а? Как мне не создавая новый объект StreamReader перемещать указатель на начало?
Еще рекомендуется использовать StreamReader.DiscardBufferedData
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.