Combine "Getting Started with Arduino" Programs

I was with you until your last sentence, "At that point you'll need to adapt your D variant to an E that's based on the method shown in blink without delay." Not a clue what a D variant or an E in fact is, and I am unaware of a code that enables a blink without a delay: that seems counterintuitive to me.

You've labeled your initial three pieces of code A, B & C. I was suggesting a first change to the C version and called it D, another change to be E. Blink without delay is an example sketch that comes with the IDE. It uses the millis function to manage the blinking of an LED without having to use the delay function. Delay is a problem if you want to do other things in your sketch because it causes the Arduino to sit in a tight loop doing nothing until time is up. Similarly, your fade loops concentrate on fading the LED but ignore the switch. The arduino is single threaded, so here is no magic bullet to take two pieces of code and co-mingle their functions - you have to adapt them to work together.