Bitcoin consensus rules are almost perfect. I think it was an error to permit bitcoins to be spent if public keys were exposed in the blockchain, but I can see why it is slightly hard to enforce this computationally…
I predict someday we will see a new consensus rule that says you can’t leave pubkeys exposed for long and remain spendable…bitcoin isn’t for dead people.