Once you have "written" the record, the record-area in your FD will no longer be pointing to that record, but to an area which the next output record can do what it wants to.
You will, generally, have the 01s under the FD pointing to data within a "buffer" which, once the buffer (or all the buffers for that file) is full will actually be written to whatever output device (dasd, tape, sysout, etc).
Once the buffers are full and "flushed" (written out) then your 01s will probably find themselves pointing back to the start of the first buffer area, which will contain the record which was first written. Thus, when you see a "." it is from an old record.
Compiler option AWO or specifying APPLY WRITE ONLY for VBs can change this process somewhat, as this will use a seperate record area which will be moved to the output-buffer once it is known if it fits. If it does not fit, it will go into the next buffer. When all buffers are full, they will be written and the record which did not fit will become the first one in the first buffer.
So the short answer is, what you are observing is the way it works. After the WRITE you cannot rely on the contents of anything in the output record area. Sometimes they will have the value you expect, but not for the reason you expect - it is just co-incidence from some previous record, written five buffers ago.
Well spotted, but it is not a problem. It is the way it works. If you have some actual problem, it is for a different reason. Let us know.