I don't believe there is anything you can change in the database to fix this, a source code change is required:
In NPC:: Death, there is code to check if a Pet caused the most damage to the killed mob, in which case the owner of the pet gets the kill, however it appears another check is needed to see if the pet owner is a bot, in which case the bot's owner should be awarded the kill and hence the XP.
EDIT: Actually, the XP award is only one part of it, this conditional in attack.cpp, line 2082 is what probably needs altering to leave a corpse if a bot pet gets the kill:
Code:
if (!HasOwner() && class_ != MERCHANT && class_ != ADVENTUREMERCHANT && !GetSwarmInfo()
&& MerchantType == 0 && killer && (killer->IsClient() || (killer->HasOwner() && killer->GetOwner()->IsClient()) ||
(killer->IsNPC() && killer->CastToNPC()->GetSwarmInfo() && killer->CastToNPC()->GetSwarmInfo()->owner &&
killer->CastToNPC()->GetSwarmInfo()->owner->IsClient()))) {
It should be a simple fix. I don't have the time to test and commit it right now, but I'll get to it in a few days if no-one else does.