1: If we're talking a global system then that's a no. As you say it could be a real pain to zoom right in to Singapore, lots of clicks.
Also don't forget that though it may seem logical to me and you that the USA is that big bit, second one down, on the western land mass, some people REALLY suck at geography.
A lot would depend on exactly what sort of system you're building and how many countries you are including however. If its just a North American system and you've a simple choice of Canada, Mexico or US and there's nice flashy lights and text and flags when you highlight one then it should be OK.
However: Big potential for trouble lies in the execution here. If for instance somebody has their screen set at a high level of zoom these maps tend to go rather awry. Also on mobile they tend to rather suck- its hard to fit the whole world in a vertical screen so I have to click to scroll the map and...agh! No! I'm not in Russia!
2: I do like Apple's use of flags. Lots of people dislike flags, but I love them. They really draw the eye. Of course there could be a potential for controversy if your business is going into some areas (e.g. Taiwan & China), but generally flags=yay from me.
If you're totally global and you're listing every country like this...Then it just won't work. If however you've only a limited selection and it is clearly organised like Apple then its fine.
Be sure however to include a nice big "YOUR COUNTRY ISN'T LISTED?", "International English version", or the like.
3: The most typical way seen is an ugly drop down. They are often more usable than they first appear however with the capacity to type "J" taking me straight down to the vicinity of Jamaica rather
than having to browse to it.
The biggest criminal act you can commit here is messing with the standard alphabetical order. Putting your one or two key markets at the top- fine. But don't fill the top with 10 countries leaving me to scroll down to S and go "Ey? Where's Sweden?"
4: Free text is a way I am rather fond of. Let people just type and then suggest possibilities. Its a lot quicker for me to just click in "UK" than to have to scroll down to it.
It is even better if it also lets me type "England" and then suggests "United Kingdom" to me.
To make this even better you could combine it with....
5: Detect their country. Its pretty easy to do these days. Auto fill in for them USA if thats where their browser is reading as being from.
HOWEVER do NOT lock them into this. Don't just automatically take them to the American site or whatever- clearly say "We think you're in America, is this right?" and have a little x on the US which lets them then click that and change to where they actually are if need be.
I work abroad a lot and there's nothing winds me up more than being taken to some local language version of the site rather than the standard one that I want.