have you tried the FREE_PRIVATE() in BotCreate() ?
Code:
if (pBot->pEdict->pvPrivateData != NULL)
FREE_PRIVATE (pBot->pEdict); // free our predecessor's private data
pBot->pEdict->pvPrivateData = NULL; // fools the private data pointer
pBot->pEdict->v.frags = 0; // reset his frag count
however I'm not sure if this will work. If this doesn't work then I think it's just engine internal.
PS, I have my own forum, perhaps you should post there about my things:
http://yapb.mapzap.org