Also inability to spawn dead bodies is sure a silly and useless limitation. Naturally they were alive, only not during the mission.
Why is everything that doesn't work as you think a limitation?
I think it's perfectly OK.
There are literally dozens of places and proper necessary intended features, which will crash, if a corpse will not have a unit from which it originated. And mods need that too... how do you think Ivan's alt-corpses mod works? It looks at the corpse and checks if the corresponding unit is alive or dead... then does what it does. If it doesn't find a unit, it crashes.
I could fix most of the places and just ignore the "incomplete" corpses... but such things create a real mess in a relative order. Not to mention some/many features would
force me to decide whether it's dead or alive even though I don't have enough (i.e. any at all) information to decide that; and I will just pick one state (probably dead).
If that isn't enough, the unit corresponding to a corpse doesn't only have a status dead or alive, it has around 40 other properties... I bet that at least 10 of them will also be used or checked somewhere... and we have the same issue again... who am I to decide whether that corpse is friendly/enemy/neutral... who am I to decide whether it's relevant for commendations or not... etc.
A BattleUnit simply is a mandatory attribute of any BattleItem of BT_CORPSE type. That's how the game was designed. It's not a flaw nor a limitation. There are plenty other categories you can use to spawn the loot... why not just spawning celatid essence is this particular case?