If home location is set say 50km away from where you are flying then the GPS map will be inaccurate but it will fly OK. For instance I fly two different places 50km apart and if home is set for one and I fly at the other, the GPS coordinates are wrong by a couple hundred meters. A lot farther than that, like thousands of km, there may be other factors that come into play. I would be very careful to in my first test flight if my home location was set on the other side of the earth. The easy thing to do is just avoid that.
If Homelocation.Set is false then it will temporarily set the HomeLocation each time it gets a good GPS fix after power up. This is good for GPS map accuracy, but it will mess up stored waypoint flight plans if the coordinates are configured as "relative to home".