Thanks for the reply, Macguba.
What I finally did was have two scripts.
The first monitors each tank (type) on the West side, via a loop. Using :
_mine=nearestobject [_unit,"mine"]
_dis=_unit distance _mine
if the distance is less than 10m, I pass the _unit and _mine to another script.
The second script waits until one of two things happen: the distance to the mine is either >12, which means it passed it and the script exits. Or, ?format ["%1",_dis]=="1e+010", which means the mine blew up. In this case, I place a marker over the minefield and alert the overall commander (the player, this is a CoC game).
All my mines are 30 meters apart so only one secondary script is running at any one time (per unit). I also keep track of which minefields have been found so there is no need to "find" them again. Plus, if they have all been found, the first script stops running.
Thanks to all suggestions.
PS. It's still messy but it works. ;D