" For AA, from what I read on fewmiles, AA does not give miles for M class only on CX and BA flights. Am I wrong "
It depends on where you set you residency. Have a look on aa.com and in advantage you will see the residency mile earning restrictions. They will give you miles from CX and BA if you set your country of residence as Canada. If you set it as Australia then you will get miles on BA but not CX , any other country will earn no miles for BA/CX in M class iirc.
Dave