The CPC originally works with RAM and ROM expansions since the 80's and change nothing into the code. Your remark came form the 90's developers that missunderstand what is a CPC. Your comparaison about the SDL for modern machine is ... "à la rue". 
Then you misunderstood my point. It's not about whether expansion RAMs change the code. Amstrad did a very nice design about expansions RAMs.
The point is: when I write a prod for a CPC, my aim is to make something that would have worked in any CPC of any neighbour/friend I had when I was 10.So, my prods can work off a tape cassette, a disk drive, for a 464, a 664, a 6128, any CRTC version, etc. I don't own any fancy new interface. A jack-to-6128 or jack-to-cassette adapters allow to load to a CPC surprisingly quickly. More enjoyable that 3"1/2 disks actually, less manual steps.
In this situation, my inner child (yes, he's the one that asked me to go here) then says "woaoh, what you do is great"! He does not care about current emulators. These emulators are often... "SDL code for a modern machine".The fact is: if you allow modern parts, even obviously available to anyone now,
it's a slippery slope to fuzzy limits.About 15 years ago I have seen a video about a modified CPC that showed long parts of "The Matrix" as sluggish full-screen video without sound off an IDE drive. It was a demo for the IDE drive interface. I and my inner child were unimpressed. Sure, it could do things that my CPC464 could not. But it's not the computer I had and remains in my heart forever.
I'm probably not the only one to think that way. You might have different goals and motivation and that's okay.
Is my point clearer? Also, I would not call "à la rue" (or worse ;-) any opinion before being sure I understood what the other person meant.