Well, I'm using no terminal, so read/write6 leaves the premises. With
\newwrite\TMPW
\immediate\openout\TMPW=0.dat
\newread\TMPR
\immediate\openin\TMPR=0.dat
\immediate\write\TMPW{1}
\read\TMPR to \tmpa
\tmpa.
\immediate\write\TMPW{2}
\read\TMPR to \tmpa
\tmpa.
\immediate\write\TMPW{3}
\read\TMPR to \tmpa
\tmpa.
\immediate\write\TMPW{4}
\read\TMPR to \tmpa
\tmpa.
I strangely get only 1, and 2.