Похоже, решение в том, чтобы вместо sync использовать опцию flush. Скорость с flush падает с 9MB/sec до 6MB/sec, что больше, чем хотелось бы, но уже более-менее приемлемо. Кроме того, эта опция поддерживается только для FAT. К сожалению, никаких гарантий, что данные полностью записались она не даёт, и на очень сильно загруженной системе есть вероятность вытащить флешку раньше, чем данные будут полностью записаны… но в обычных условиях хватает подождать секунды три после завершения копирования чтобы всё записалось (плюс можно ориентироваться по миганию лампочки на флешке).