First about subraces: You are right, but results of these dialogs are saved if you save your game/export your char, aren't they? Yes, you can't add a new step to ingame char creation, but adding this new step to this uh... thing should be easy...

You should know, you have been messing around with a C++ compiler, haven't you?
About kits: yea you are right, you can have so many kits and you need only one per game. It is all about comfort really. One can not create true
monk/barb/sorc kits, but I've seen a sorc kit (implemented with a workaround), and making similar "not true" kits are possible, aren't they? With a separate program you can display them as anything you like.
So a separate program to make the .CHR would have to make sure it checked the end-user's install for what kits it has and in which order anyway, making the whole thing sort of pointless.
Piece of cake
NI is great, but in this case once you create your char, let's say a mage, and you want to add your custom kit with
NI, but (I think) you may have to add the spacial abilities (innates) of the kit at your level manually, (I don't know anything about scripts tho).
So if a program could do the char creation entirely (including racial enemies for rangers, spell selection for wizards, randomization for char stats, etc), we might have an easier, more sophisticated method for using custom kits, and even more (one could add as many steps as he wants). It would allow better flexibility and wider compatibility with mods IMO. It is NOT THE sollution, it's just a better sollution.
(There are some difficulties tho: for spellcasters the available spells should be checked, since there can be custom spells installed aswell...)
(Also note: If the user is an
IE expert, the user won't need anything like that for sure

)