Can confirm Pluto011's issue. If you look at the upgrade code in Faction.cs, it does the following:
GameEntity newEntity = GameEntity.CreateNew( squad.PlanetFaction, typeICanUpgradeInto, squad.WorldLocation, Context );
squad.EntitySpecificOrders.CopyTo( newEntity.EntitySpecificOrders );
newEntity.EntitySpecificOrders.ControlGroup = squad.EntitySpecificOrders.ControlGroup;
So the newly created entity knows it should be in a control group. Unfortunately the control group doesn't know this entity is in it. I tried adding the line
newEntity.EntitySpecificOrders.ControlGroup.AddEntity(newEntity);
to this code and it seemed to fix the problem for me. I'm not positive if correct, and it's Keith part of the code, so I'd like him to bless this approach lest there be unexpected gotchas.
Pluto, in the meantime if you just hit "M" (to select all mobile military ships) then hit Ctrl-1 (to recreate control group 1 with those ships in it), that should be a suitable workaround.