One user of my app reported that app tells network for location is off even he did turn it on. He sent me few screen shots and they made me think;
LocationMa
Not directly an answer to your question(s), but check out the new Location API that Google launched last week. It's really easy to implement and it will check for the best possible location without wasting battery. http://developer.android.com/google/play-services/location.html and here's a session at Google I/O about this new API and how to use it. http://www.youtube.com/watch?v=Bte_GHuxUGc
This way you don't need to worry about checking if the GPS is on or not and stuff like that