Switching to an American keyboard layout just so programs work isn't very practical. Especially when you have to switch back to your localized layout for correspondence with your non-English speaking peers and colleagues in between.
Personally I even prefer the German layout for programming, though I've met a lot of programmers who prefer the American layout because it requires less chords.
I prefer the Neo layout (which is completely different, think: Dvorak), which has excellent placement of all programming-relevant keys as well as German and English bi- and trigrams. Very comfortable to type, but too many programs capture events that break functions of the keyboard layout. It uses left and right shift, caps lock and ' (# on QWERTZ), the key between shift and Z (that's not there on a US keyboard) as well as AltGr as modifiers (plus combinations of the above). Sublime is particularly bad (captures compose and tab) :\
I used a custom layout with easy access to tons of special characters but gave up on it when I frequently had to switch between different operating systems.
My new laptop has a weird keyboard that seems to be based on the US keyset with the right symbol key replaced with the ISO key you're referring to. In other words: angle brackets are right next to the space bar (left ctrl, symbol key, left alt, space bar, angle brackets, AltGr, Fn, right ctrl). Also the arrow keys are lodged in between that and the numpad. It's odd, but I have gotten used to it.
The only problem is finding an external keyboard with the same layout. I found that switching keyboard layouts is extremely bad for my productivity but I don't want to carry around an external keyboard everywhere I take my laptop.
I have a ThinkPad Compact USB keyboard at work and a ThinkPad at home (although the external version has a terrible controller/firmware, TrackPoint scrolling is hard in Linux. I've mapped it to right click + TrackPoint because otherwise I'd get spurious paste events when trying to scroll).
The main reason to use this keyboard for me is the trackpoint - my hands never leave the home row (I have arrow keys and a num pad on layer 4, see http://neo-layout.org/ (mouse over the "Ebene 4" button).
This really does make it hard for me to user other machines, you're right about that (although every linux distro ships neo, and for windows there is a no-installation-required autohotkey-based executable). But I'm not using other machines enough to make any compromises there. 99% of the time I'm using my machines, and that's what I've optimised for.
Personally I even prefer the German layout for programming, though I've met a lot of programmers who prefer the American layout because it requires less chords.