Doesn't the precipitating change optimize memory on the DNS server at the expense of additional memory usage across millions of clients that now need to parse an unordered response?
The memory involved is a kilobyte. The optimization isn't important anywhere. The fragility is what's important.
Also no, the client doesn't need more memory to parse the out-of-order response, it can take multiple passes through the kilobyte.
For most client interfaces, it's possible to just grab the addresses and ignore the CNAMEs altogether because the names do not matter, or only the name on the address record.
Of course, if the server sends unrelated address records in the answer section, that will result in incorrect data. (A simple counter can detect the end of the answer section, so it's not necessary to chase CNAMEs for section separation.)