When I update a large amount of file tags it often happens that JRiver does not respond. Some times it still updates the tags in background according to the hard disk workload in the task manager and sometimes it is completely dead.
It also happens that JRiver still responds but the counter in the bottom does not change it's value anymore.
I suggest to completely seperate the file update routine from the JRiver-gui. If the file update routine has a problem there is no reason why it should affect the gui anyhow with the exception of displaying that an error has occured.
I also suggest too provide the possibility of a background update mode. In this mode JRiver search its database for unsaved tags and applies them silently in background with a specified speed(x files per second). When the user changes the tags of some files, only the database is updated and the files are scheduled for the background updater.
Last but not least I suggest to provide support for XML-Sidecar-files even for files that directly support metadata. There could be a bug in the file format specific code. There could be files that do not perfectly conform to their related file format standards and thus introduce errors. XML-Sidecar-files would circumvent both sources of error.