As I've said before, its often good to honor the user's international settings, which they can set using the intl.cpl (Regional and Language Options) control panel.
Sometimes it is interesting to be able to configure these settings programmatically. Some of you've discovered their location in the registry, but that's generally not recommended because it might leave some items only half set. For those users that need command-line control of the international settings and overrides, there's a document at http://www.microsoft.com/globaldev/vista/vista_tools/vista_command_line_international_configuration.mspx that describes how to do this.
Its expected that this would be useful for providing settings to several machines, such as if your corporation preferred the use of a 24 hour clock or a specific date format. Using the command line interface doesn't prevent the user from changing them, but it does provide a good way of setting a machine's initial configuration. There are some group policy configurations (see http://www.microsoft.com/globaldev/reference/win2k/setup/restrict.mspx, although its old)
In my opinion its usually best to let the user choose their regional settings, or to provide the initial settings that the user can then change. It is worth noting that for various reasons the group policy settings don't prevent a knowledgable user from changing their settings using other methods (like by changing the registry directly).