Preventing land-filling edge of map would always allow fish to spawn around the island. Could make the map 2 tiles more wide and prevent building in that last tile, filled with water, that way fish always have a place to spawn.
Also, might want to check before spawning trees and gardens that the patch of sand/dirt that it's growing on is not covered with a building, and/or with any entity.