I created a a custom BizForm. In the BizForm i created a new method called viewBiz_OnAfterSave().
It does work when I only use one pair in SpecialMacro, for example the following works.
mcr.SpecialMacros = new String[,] { { "#articleURL#", Request.QueryString["articleURL"] } };
i'm on the following version v5.5.4014 R2
here is the an example for debug of variable. It seems to be sending data to email template, but not replacing the variable with the acutal data.
SpecialMacros = {string[1, 4]}
[0, 0] = "#articleURL#"
[0, 1] = "http://www.environmentalleader.com/2011/03/29/how-to-win-the-fight-against-nimbyism/"
[0, 2] = "#articleName#"
[0, 3] = "How to Win the Fight against NIMBYism"