Actually, for the GMT ones in the dropdown, it is indeed using the same PHP5+ adjustment code as the rest of it, using the deprecated "Etc/GMT+whatever" zones. The reason we left it in there is that it's possible to envision an edge case where somebody gets all ticked that they can't specify a timezone manually.

However, because the timezonedb built into PHP uses GMT +/- in the opposite way everybody else uses them (GMT+3 instead of GMT-3, for example), the signs get reversed for display purposes, so as to not cause user confusion. So if you choose GMT+5, you'll get what you expect. The only difference with these is that they don't account for daylight savings. The rest should, more or less (this depends on how up-to-date your PHP version is.. The Olson timezonedb file does get updated from time to time, and you'd have to keep your server up to date to get those adjustments).

The code running the new timezone functionality is not substantially different than my Automatic Timezone plugin was. Indeed, I stole a large chunk of the code directly from it for the patch. :)