peti
as you happen to be a programmer, you should create a tool, which processes commandline parameters, which could be called by innosetup. then Ultima would have to add just two config files: one with the "old" default values and one with the "new" default values and those, introduced in the "new" version.
the target of this tool is, to compare and merge inifiles. first it should compare the old ini and the currently installed ini. So you could extract all the user defined changes. second you should compare the old and the new ini files, so you would extract the newly introduced or changed values. at last you have to merge the "extracts". Therefore you would have to implement three options: 1) Prefer user changed values 2) Prefer "new" defaults 3) Offer to solve each conflict manually.
I do not know InnoSetup that good (as I have not had a chance to work with it yet), but I bet, that it should be easy to add an option page for the languages, you want to have (that are just files to copy)
and it should not be any more difficult to add an option page, where you can select the plugins you want to have or use. this is mainly another file copy option.
the "difficult" part would be, to generate the configuration files for tcup dynamically. therefore you could write another tool. this tool has an ini file, containing ALL configuration options. then... created by the selection in innosetup, this tool should get another ini file, containg the "selected" plugins. Then this tool must create the configuration files dynamically (by selecting the appropriate texts of the first ini file).
you see... it is not sooooo hard