Should a non-changing save really update the "modified" time?
Yes, because when an application writes a file out, the operating system writes that data to disk. It may be exactly the same as the data already in the file, but the OS is not going to check or care whether that is true. Of course, text editors hopefully are not so naive as to write an entire file for each save, because I save very frequently and would prefer not to wear a disk pointlessly (maybe file caching and syncing by the OS ameliorates this so the application does not have to worry).
A lot of applications (including vim) will notice if a file they have loaded is changed externally, and notify the user. I would have presumed they do this based on mtime, but a quick check with
touch demonstrates that at least in vim's case, it is not that simple (begging the question of how vim knows a change has been made -- perhaps if the mtime has changed a hash of the two versions is compared?). My point with this is that if the application is monitoring a file for external changes, then it should be able to save changes safely without re-writing the entire file (again: hopefully). In that case, you would think saving an unchanged file might mean doing nothing. However, since the user did ask for a save (even though the user knows, or can know, whether it is necessary), then IMO the application should at least touch the file to reflect this. It may be of value, if, eg. you are relying on the timestamp to reflect the last update, even if this update amounts to nothing.
After all, if you don't want the timestamp changed, you don't have to save unchanged documents.