I agree that adding a better message is helpful.
What about something along the lines that says:
"cannot sign with or decrypt with key XYZ"
and explaining:
"even when trying to decrypt with a different key, the default signature key gets checked."
Certainly it would be much better if decryption would just try to
decrypt with the available keys, no matter of what status the
certificates to this or other keys are. I am worrying most about the
applications that are using Gnupg in this way, they probably will
not be able to either explain this properlto user or offer good
assistance. The reason you give why this is done is only an implementation
artifact and not logical for a user that has learned or tries to learn
about public key cryptography.