The issue is coming up when you put gmap object in "Process_Globals" instead of "Globals".
I found the solution as adding another reference object as :
Sub Process_Globals
Dim gmapglobal As GoogleMap
end sub
and updating it when i get gmap.
...
gmap = MapFragment2.GetMap
gmapglobal = gmap
...
to use from other activities. I am not sure that i get the location correct then, but it works :
...
vSurveyLat = Main.gmapglobal.MyLocation.Latitude
vSurveyLon = Main.gmapglobal.MyLocation.Longitude
...