Messages that can't be decrypted have been a big problem however from personal experience and matrix themselves saying it should be fixed with recent Element X version this should be a thing from the past.
>there should be one key that protects everything
That is more or less the case with the recovery key. https://element.io/help#encryption16
we spent all year fixing these and at least in Element X and other rust-sdk-crypto based apps like Element Web they should now be fixed.