читаем хэлп:
Syntax
[Delphi] function Write(var Buffer: Type; Count: Integer): Integer; override;
Description
Use Write to write Count bytes to the resource associated with the handle stream, starting at the current position. After writing to the resource, Write advances the current position by the number bytes written, and returns the number of bytes written.
All other data-writing methods of a handle stream (WriteBuffer, WriteComponent) call Write to do the actual writing.
Где тут написано, что метод write сам прочитает данные из потока? Вам надо прочитать в переменную
var Buffer: Type ваш исходный файл, и только потом, записываем этот буфер во второй поток