just working on grenade code, therefore just another comment here why joebot throws grenades so nicely ... it's basically because of those lines here, if you havnt found out for yourself already :
in CBotBase:HandleGOrder
Code:
while(pent = UTIL_FindEntityByClassname(pent,"grenade")){
[....]
v_nvelocity = VecCheckToss(&pent->v,pent->v.origin,GOrder.VAim,g_fGravityAdj);
[....]
pent->v.velocity = v_nvelocity;