Since I don't have any botkillers, I haven't actually been able to test whether
RemovePlayerItem (which does an SDKCall to CTFPlayer::RemovePlayerItem(CBaseCombatWeapon *) for the client) removes the BotKiller heads. In theory it should simply because it's the "correct" way to remove an item, much like calling
[TF2] Wearables's* TF2_RemovePlayerWearable (which does an SDKCall to CTFPlayer::RemoveWearable(CEconWearable *)) should remove any extra wearables and restore any bodygroups said wearable changed.
Unfortunately, TF2_RemoveWeaponSlot and TF2_RemoveAllWeapons were updated a while back to use the Kill input instead.
For that matter, KillHierarchy may remove the botkiller heads as well... it's unknown at this time.
* Note that the only reason this plugin isn't released on this site is because TF2_GetPlayerLoadoutSlot doesn't have proper Windows gamedata and I might remove it anyway due to it only returning one of the 3 Cosmetic slot items... which is the entire reason it existed in the first place.
__________________