You're right, it's a minefield. I'm Australian, and the rule there is strictly first names at all times. I was a little taken aback at first by the formality in Switzerland, but have found the best approach is to address everyone over the age of 21 by their surname and wait until they invite me to do otherwise -- my 80-year-old neighbours, for example, asked me to call them by their first names in our first meeting (MUCH to my surprise!).