If I understand things correctly, Collect will sometimes break a form submission into multiple requests if the attachments are too large. Is this documented somewhere? Is there a header that can be used to match these multiple requests? Or is it necessary to match on the InstanceID?
Collect doesn't currently use the X-OpenRosa-Accept-Content-Length header (though it could/should) but always splits files into 10Mb posts. If a file exceeds 10Mb, it will be sent in its own post with the submission XML.