I think standard-ness are just relay policy and not necessarily defined in BIP
There is no reason to allow invalid public key being recorded in the blockchain. It's an abuse of the system.
It was consensus code in past. Point.
I want to know
who,
when and
why broke it
If I understand things correctly, it wasn't consensus code in the past.
It was
relay policy in bitcoin core from v0.8.0 onwards.
BIP66 proposed to make it a consensus rule, which was implemented in v0.10.0.