JMF creates the nonstreamable file first.
This has the header at the end.
After recording is successfully completed, JMF creates a new file
where it puts the header in the front so that it is
streamable. After that file is successfully created,
the nonstreamable file is removed.

The nonstreamable shouldn't be there if there was no error.

Check jmf.log to see if there are any errors.
If you can reproduce this problem easily, then let us know.
Give details of your setup and output of jmf.log.

As a workaround, for now, just remove the nonstreamable file.