Problem with the grid set-up is if a unit partialy crosses the boarder between grid cells...take a tank unit for example, it's pivot point or whatever may be in grid location 3,4...but part of the mesh may overlap into grid location 4,4 or 4,5, etc...if another unit is near enough to that location in the other grid cell it could cause problems as they won't be able to detect each other until they occupy the same grid cell (at which point they may have collided)
You said that the units were in groups of 24 or more...this can work greatly to your advantage...if you also grouped the static entities (buildings and trees) into small "groups" basied on thier proximity to each other...then create a simple collision "box" around these groups that completely surrounds the every object within the group...then when the units are moveing do some quick checking to see if these "boxes" collide with each other...if they are collideing then turn on the collision routines for the individuals within both groups and test accordingly...
You said that the units were in groups of 24 or more...this can work greatly to your advantage...if you also grouped the static entities (buildings and trees) into small "groups" basied on thier proximity to each other...then create a simple collision "box" around these groups that completely surrounds the every object within the group...then when the units are moveing do some quick checking to see if these "boxes" collide with each other...if they are collideing then turn on the collision routines for the individuals within both groups and test accordingly...