I really said the cable does not know anything.
Your understanding is true. By the cable not knowing anything, what I meant was that if you put the worst HDMI cable in the loop, the sources will still trying to get the EDID handshake to find out what resolutions they can send. That and the HDCP handshake are the two handshaking items. So, even with this worst cable, the system will still try to send his information for the highest resolution the sink can handle. Assuming that EDID is received, then the source will send that highest resolution even if the cable is bad.
For instance, if you leave Deep Color enabled on a PS3, you can see the handshake fall apart with a cheaper cable and you get no signal. The funny thing there is that after a while you sometimes do get a signal. Does the PS3 timeout and try without Deep Color? Or does it just try again and it just happens to hit a window with no bit errors? Obviously that isn't resolution-related but it shows some of the HDMI "witchcraft" that is difficult to understand.
Fortunately or unfortunately, the HDMI system has no ability to "try" different resolutions to see if a lower resolution will work better. I suspect (but don't know) that this is the result of HDCP protection. If I keep trying different ways to send the signal, I might give away part of the key or I might make it easier to listen-in on the data.
So, that's what I meant by the cable doesn't really influence the source signal.
Your mechanical switch is an interesting situation. Is there any chance the mechanical switch can change the EDID? If it is a pure mechanical switch then the answer is no. In something like a receiver, the EDID is modified to change the sink's characteristics. So, I don't have a good answer for you with the mechanical switch. Maybe Colm or one of our other folks can pick-up where my knowledge has fallen-off?
One possbility I just thought of is that the sources are seeing a different sink with the switch included than without since the electrical characterists have changed. But, that would require the EDID to have been truncated or modified and I still don't have a good mechanism for that to happen.