Canada has always had their own codes... ie K and L has been around for a long time. I haven't seen an M fare for a while. Ex-UK fares were at one time M, K, L and lowest V. They still are.
Ex-SIN/BKK fares are similar to what you're noticing in TPE. Lowest fares no-miles are S, N, O. Mileage fares start at V, and go up to H.
I don't see B class much anymore.
Business Class ex-BKK has always been "I" with "D" going for much more.
Basically CX is just making it almost impossible for AAdvantage members to earn fares on anything else other than H. Or else they might be just enticing AA members to perhaps join Asiamiles?