The difference lies partly in the physical properties of the different nouns, and partly in their intended use.
A mesh is what all these terms have in common; it's a weaving of some thread-like substance into a regular-polygonal pattern (typically the polygons are squares, but not necessarily). The polygons are generally expected to all have equal size, and any type of weaving involving non-polygonal patterns - a knitted sweater for example - is not considered a mesh. A window screen for keeping insects away is a good example of a mesh; a metal chain-link fence is a good example of one not based on squares.
A grid is a mesh that's flat - for example, U.S. city streets are usually organized in a square mesh pattern, but we call this pattern a grid because it's basically flat (the earth it lies on is flat).
A net is a mesh that is not necessarily flat; it's made of flexible material. Thus, fishing nets can be wrapped into a bag-like shape for hauling in fish. This also explains, as you asked, why we say mosquito net and not mosquito mesh - although mesh could be sort of appropriate if we're talking about a fixed mesh (like the wall of a tent), intended to keep mosquitos out but not intended to be used for catching them (as a net would be used).
(So in general: we say net if we're talking about a mesh whose purpose is to capture, contain, or exclude something.)
Finally, a network has the least in common with the above three because it doesn't necessarily follow a regular pattern. Network never refers to any of the above terms; it refers to irregularly patterned systems of connection. Computer networks, for example, contain many connected computers, but their physical proximity to one another is completely arbitrary.