That actually a very smart move. By legalizing it all, cartels won't have any sources of income because superprofits would disappear.
Ummm I think the narcos are going to take control of the market anyway, either legal or illegally... In fact, by legalizing drugs, they are giving the cartels the option to "come clear" and to declare and have their money clean almost instantly.
I doubt they will lose any profit, but, how knows? Maybe legalization is the way to the peace in Mexico. And yes, we absolutely need some peace.
The only reason these cartels are earning exorbitant amounts of money is because drugs are illegal. The ban doesn't decrease the demand substantially, but the supply shrinks dramatically, which in couple of with cost of risk makes drugs cost a lot. That considering the fact that the netcost of any drug is negligible. If you legalize all drugs, you make it possible for anyone in the country to enter the market. As a result, the supply will increase and all prices will slump down. The drug market will stop being a high-marginal business and therefore all these cartels will lose their major source of income. As a rule, drug cartels are the biggest beneficiaries and lobbists of ban on drugs.