First off: A {approve} corpse is a {approve} macro active without any workflows defined. This happened accidentally when I created a label-workflow like the following example:
{workflow:label=test}
{trigger:labeladded|label=test}
{set-label:test|children=true}
{approval:test}
{trigger}{workflow}
So generally you can create {approval} corpses when placing {approval} macros into triggers. This scenario generated two {approval} macros on each page where this label is applied. After removing the label, one macro is left over as the corpse. Removing the corpse is only possible by making an edit to the page or deleting it (as far as I know).
{approval}s are not meant to be defined within triggers. If you want to add an approval when a label is added, then you would need to create another workflow (in a different page}:
{workflow} {approval:Default Approval} {workflow}then
{workflow:label=test} {approval:Other approval} {workflow}I