By default, yes. You can change the time zone guests see by navigating to Admin CP > Options > Basic Board Information > Guests' Time Zone. However, each individual user can go to account/preferences and change their personal time zone there, though it should detect it automatically upon registering.
We personally have it set to the time zone of our owner--Pacific.
Depends on if it is using the detect via IP, or if it is detecting by one of those other methods. I honestly haven't dug through the code to see which it does because it's not a life and death concern to me. If the person is to lazy to change it or using a proxy - that's their issue.
And it IS automatically applied - for what it detects if I remember correctly (at least it has been on every site I've signed up to).
If you are using a proxy service and it's IP based.. then no, it's not. But that's like using a GPS and being in a concrete bunker and expecting it to get your location. You are defeating the design parameters.
Now, if you are talking about automatic for each time you connect? I'm sure that wouldn't be that hard of a change, or even to develop an add-on to do it.