I don't want to unconditionally save buffers; I want to conditionally save them. (Actually, I wouldn't mind if it didn't save the buffers at all; when I restart emacs, it finds the ".#" files, and that suffices.)
There's a more general problem here (although you might decide it's too much trouble to fix) -- it seems that when "emacsclient -e" is used, any prompts go to the non-existent screen rather than to the terminal. (e.g., yes-or-n-p's prompt).
Also, save-buffers-kill-emacs does two things: (conditionally) saves the buffers and deletes the ~/.emacs.d/.emacs.desktop.lock file. On the other hand, the lower level kill-emacs doesn't delete the lock file (and the response to bug 55560 is that that's a deliberate design decision). So, there's no way of doing from the command line "kill-emacs-and-remove-lock-file", it seems.