I know what happens. It's a wx bug.
When the Preferences dialog opened, aMule switches to each locale, to see if it's installed and message catalog available. The corresponding wxLocale objects are then deleted immediately. wxWidgets documentation says that deleting a wxLocale object restores the locale to the previously set one (the one set on aMule startup), however, the setlocale() system function is NOT called, so the operating system still thinks we're using the last succesfully tried locale.
I will commit a fix, but maybe only tomorrow.