I don't care why. I've added the system already

It's completely optional of course.
You'll only find this stuff in HEAD builds and so far it's only been implemented for ships and not weapons. I'll be doing weapons next though.
The way I've implemented it is VERY flexible. Lets say you have a mission where the player starts in a myrmidon. You can give the system a list of up to 3 ships which the player should be assigned to if there are no myrmidons left. You can also give it a ship class to assign the ship to regardless of whether or not there is anything left (i.e if you have no myrmidons left you WILL fly a Ulysses) Or you can mix the two (If you have no Myrms, Hercs, Herc IIs or Pegasi you'll fly a Ulysses) or you can just let the system assign the first ship it comes across which have any remaining.
Furthermore the system does not apply only to ships in the loadout menus. You can also make the system work for any ship class in your team which is player flyable (so you can have Epsilon and Lambda wings dependant on which bombers you have left too).
At the moment the system for figuring out who has been destroyed or departed is a little primative but I'll be adding lots of new SEXPs to allow you to count say just the ships who departed before the player did etc. The system is based on the use of persistent variables so there is no reason you have to use the new SEXPs anyway. They're just there to make things easier for you. You can roll your own code to do whatever you want.
This is a really great idea, specially if there was a SOC type campaign. 
That was one of the main reasons I wanted it. For behind the lines campaigns where you had limited numbers. Plus it would mean that when the player makes contact with relief and gets stores replenished it would really mean something.
If it weren't for the fact that it requires HEAD builds I'd be tempted to go through the main campaign and retrofit it to use this system