Oops.. you even don't need 'For each sensor', please disable it.
When initial "Sprite" overlap with a "Tiles", it will trigger the corresponding Tiles to spawn a sensor that checks whether there is any overlapping Tiles within 4 directions at the edge (half width of Tiles). Each Tiles that overlapped by the sensor get the frame into a green color. Then instance variable "flowing" activated thus trigger chain reaction system that spawning another sensors for linked Tiles altogether. When the initial Sprite lost a connection to a Tiles, previous sensors destroyed completely and system reset.
For spawn-wait-destroy part, is an experimental event I came up with when creating puzzle games. Usually puzzle-matching games rely on flood-fill mechanic. Just what newt said we can do it using an array to perform flood-fill. Alternatively we can also using direct overlapping test.
Trust me I'm an expert over this subject