With Borland C++ Builder I can make a working launcher without too much trouble. Below is a screenshot of an incomplete one I put together in a couple hours. It can copy over all the data from the original FS2 registry key to a seperate one (the same key the other launcher here uses) if that key doesn't exist. It also doesn't need an "Installed" value to tell if it's been "installed." It checks for the fs2_open key itself. The version I have can change between the 4 graphic modes I know of (Glide low res, glide high res, d3d low res, d3d high res) and lets you chose between DirectSound and No Sound. Other options could be typed in and are added to the list when you hit enter within the field. It can store those two settings to the registry and retrieve them.
In addition to adding stuff for the other registry options I think I could add support for storing arbitrary data in the registry for use while testing new options or for changing options that aren't normally listed. I am sure I can add support for running multiple exe's from the same launcher. (Including exe files not in the launcher's folder.)
The one thing that could be problematic is that I don't know what all the possible values are for the various registry entries. (Videocard and soundcard in particular.) That's one reason why it would start by copying over the original FS2 data.
One thing I know I can't do is integrate support for something like the Update feature in the original launcher as BCB 1 doesn't have any controls I know how to use for things like FTP access or file downloading.