This is most easily reproduced installing flexifield, creating a content type containing only a file (say "file") and a type containing a flexifield referencing the first type (say "fileset"). Whenever saving a form, the subsequent files or images are overwritten by the first one.
This is because the rendered html field (
<input type="file" ...>) does not respect the #array_parents in its naming. The supplied patch fixes this.