I've read the 3G actually lacks CPU instructions added to the 3GS and later, so yes stuff developed for the 3GS and later in mind simply can't work because the CPU literally can't interpret the program's commands. It's very easy to see support dropped for the 3G for the simple reason that they don't want to maintain compatibility with the older architecture.
Compiling for both architectures isn't a big deal though; unless you're actually coding in assemble I doubt there is really any case you'd have to adjust for it as a programmer. The game will just get a bit bigger and that's it. The much bigger issue is lack of GLES 2.0. Even if you don't want a lot of fancy shaders, GLES 1.1 and 2 are different enough to cause a fair amount of extra work to support both of them, and to future proof your code base you'd probably best use 2.0 even if you don't absolutely need it.
And of course the obvious reason is that it's too slow and it's one of the few devices you actually can cut support for. Apple don't really allow developers to filter which devices to release the game on. I think a lot of developers would gladly cut out iPad1 support as well, but that's not really possible as far as I know.