sounds like an vi feature. Most likely, vi remove the old file(thus the link) and create a real file.

I would suggest to use another editor and see if the same occurs. The cat >> operation suggest that the fs/kernel should be ok.