As long as a target icon is not running silent and is within 100m, you can spot it automatically and therefore proceed to do actions against it. When you start rolling dice to do actions against the target, though, you then take a -2 dice pool penalty if the icon is on a different grid as you. The only exceptions are if both you and the target icon are on the same host and if your target is a device you have a direct connection with. This would mean that yes, an icon can get protection from you by being on the public grid, either giving you the -2 different-grid penalty or the -2 public grid penalty if you Grid Hop to it. If you want to try and justify it, think of it this way: when a target icon is on the public grid, actions against it will have difficulty registering due to the slow, unreliable service that's hosting it.
If that still doesn't meet your satisfaction, I've heard of a houserule in which icons with a higher-level grid can target an icon on a lower-level grid without the different-Grid penalty. A local grid ignores the penalty against the public grid, and a global grid ignores penalties against both local grids and the public grid.
Personally, I really can't say that I care at all for the grid rules, finding that they add complexity to keep track of and slow things down with smaller dice pools just for the sake of it. I think you can remove grids altogether and not miss anything.