IMO, iCloud can avoid most problems if its disk operations are transactional. But iCloud by itself cannot make Obsidian to reload configuration files, if iCloud downloads a new version, hence inconsistencies could occur. But perhaps the Sync plugin can handle that, I don’t have an experience with it.