DIT is fool-proof to 50%. It's also made for me

1) You can't do anything wrong when you assign loadouts manually (drag and drop);
2) You can't do anything wrong when you assign loadouts using the new 'quick assign' function;
3) You can't do anything wrong when DIT auto-assigns loadouts on startup.
They are all made according to Lo's rules, that is, working from scratch is safe. (Or at least I believe so; notify me if you find a bug.)
DIT is
not fool-proof in two respects:
1) It cannot prevent you from prefixing a torpedo with "B" or a droptank with "A";
2) It doesn't check or override loadout
assignment info imported from a former DCG database. It works just the other way round:
first it auto-assigns loadouts based on game data and the prefixes taken from allpayloads,
and then overrides them with slot assigments if available (taken from payloads).
When doing so, it does check whether the given loadout is
really available in the game database, but it doesn't check whether it is
also available for that particular plane, or whether it is
really a valid loadout option for that slot (according to Paul's rules). It was not supposed that the user works with a manually messed up DCG database.

What I can do fast and with relative ease is to implement a startup option to the effect that former slot assigments (payloads data with all the good and wrong editings) are disregarded and everything is auto-assigned according to plane type (as 'quick assign' does); for planes whose type is not set the general scheme would be used: A(X), B(X), B(X), T(B,Y), A(Y), D(Y) (as is done now on startup).
Another option is that on startup I check slots 1 to 3 for 'none' and auto-replace them with 'default', then I check slot 6 for 'default' and auto-replace it with 'none'. Sorting out fatally wrong assigments such as B,T,A,D,B,T would be too much a work for now.