You can use the DestroyObject command, but trying to grab a corpse via script can be flaky. The most reliable way might be to first flag him as non-destroyable, something like:
AssignCommand(oSion, SetIsDestroyable(FALSE, FALSE, FALSE));
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDeath(), oSion);
DelayCommand(1.0, AssignCommand(oSion, SetIsDestroyable(TRUE)));
DelayCommand(1.1, DestroyObject(oSion));
Adjust timings as necessary.