Провёл пару экспериментов.
Следующие куски кода работает нормально:
fs.readFile('origin.png', function(error, result) {
fs.writeFile('copy.png', result, function() {});
});
var content = fs.readFileSync('origin.png');
fs.writeFileSync('copy.png', content);
То есть проблема возникает только когда записываешь в файл именно полученные через form-data данные. В таком случае файлы ломаются.