I still find the AI ability logic you mentioned odd because I haven't seen lags in time when abilities are used by multiples of the same squad.
I am not a LUA guru but i think you got the feeling it works because timer for all target ability is hard coded to 5 sec and not to real timer for grenades which are around 25 sec.
If you replace 5 with 25 in InfantryTactic:DoAbilities(), i mean this line
if (now > InfantryTactic.TargetAbilities[i][5] + 5 and Ability.DoAbilityTarget( self.squad_ai, ability_id, filter, count )) then
InfantryTactic.TargetAbilities[i][5] = g_iGMT
end
You will notice that 25 sec are required between 2 grenade use among 3 or 4 SM squads