Ghoul found it, definitely happen`s in BotAvoidContact at the end of the function call i added this
Code:
if (pBot->f_avoid_time <= gpGlobals->time && !pBot->pAvoid)
{
pBot->f_avoid_time = gpGlobals->time + 0.1;
// avoid contact
BotAvoidContact (pBot);
UTIL_DumpToFile ("BotAvoidContact Finished\n");
}
and it never reached the finished message, so im 100% certain it happens in BotAvoidContact. Just add a max tries on the BotAvoidContact find entity in sphere loop to fix the bug
enjoy
Dubb

.
edit..
shoudn`t you have a break when the bot find`s it required entity to avoid.
ill do some more research later today (5:00am in the uk need to get some sleep).