But that *is* the solution. If you don't like the solution, that's something
else entirely -- but the way that users change their passwords on the
SME Server is by going to
http://your.server/user-password/ . It continues
to work even if you don't like it.

If they're going to that URL on the external interface, then you'll need to
allow external access to the server-manager (in the remote-access panel in
5.5, or with the steps described in the remote server-manager access
HOWTO in previous versions).
If you want it to work some other way, then you will have to write something
to allow them to do it some other way. Remember that you have to keep
the Unix and Samba passwords in sync.
Cheers,
--Rich