Changing this via the GUI doesn't actually change the time in the top bar. This is a bug that has been reported.
In the meantime, there is an easy fix via a terminal command:
To change the time displayed from 12 to 24-hour, simply open a Terminal (Super+T) and enter the following:
gsettings set com.canonical.indicator.datetime time-format '24-hour'
To go the other way (from 24-hour to 12 hour), just change '24-hour' in the above command to '12-hour'
That will permanently change the displayed time in the system, and it's just that easy! It would be nice if the devs could fix that System Settings bug!!