No, when looping through entities there are no breaks (usually) because of how the loop is set up and the function works.
Code:
while ((pEnt = UTIL_FindEntityInSphere( pEnt, pBot->pEdict->v.origin, 64 )) != NULL)
Passing pEnt as the first parameter tells the engine to go to the next entity in it's list of entitys within the sphere, until eventually it'll return NULL. When NULL is returned, the while stops.
I know this code works, it's used in the HLDM code and has never caused a problem.
I much just rewrite the function, and maybe the problem will go away.
[EDIT] Just added a simple counter to the loop as well, testing to see if that makes a difference. Will edit this post if it does.
[EDIT2] The looping still occured even though I had created a int set to 0, incremented it by 1 each loop, and added (i <
to the loop rules.
I'm not quite sure if it is my code which is causing the problem (as in, my code directly), or code that my code is causing that is causing the problem (in the si.dll, engine dll, or somewhere else). I'm going to leave the bot on all night just for sure test that this fixes it, then I'll do more investigating tomorrow. This all looks mighty promising.