You are correct, how will that standardize development on Macro syntax?
Technically you can't have a macro without C# code behind. Whenever I create macros, I also create custom transformation methods so those same methods that I made available in the macro engine, are also available in transformations.
I don't mind text/xml transformations but you don't get the power behind them as you would if you had an ascx transformation. For instance, I'm just finishing upgrading a site from 6.x to 8.2 and they are using aspx mode. I checked out all the transformations after the upgrade, fixed the issues I knew of then built the project with those ascx transformations checked out. I was able to then find other custom code that had been written and resolved it. You can't build a text file.
Using the ResolveMacros() method will build in an ascx transformation as well as any custom transformation methods you create. Macros will not.