Using version v3.8 I got this behaviour with dragged markers.
a) marker.setMap(map) –> Marker on map
b) dragg the marker –> It’s a dragged marker
c) marker.setMap(null) –> hiding the marker
d) marker.setMap(map) –> The marker doesn’t appear
If I force use v=3.7, everything works ok, in d) the marker appears in the map.
Greetings.
Following QAH’s comment this does appear to be a bug in Version 3.8. See this bug report and add your star to it to help get it fixed.
A workaround is to use
marker.setVisible(false)or an earlier version, as you found.