When using |(handlesqlinjection)false
it needs to be on the macro(s) being rendered as a whole, which is why I suggested creating one single macro. Looks like I had my syntax wrong, there needs to be an opening double quote like so: (you're building a string to pass to the where clause so it has to be correct K# syntax)
{%"ArticleCategory = '" + CurrentDocument.GetValue("ArticleCategory") + "' && ID != " + CurrentDocument.IDCurrentDocument|(handlesqlinjection)false|(identity)GlobalAdministrator%}
Also note the event log might help to troubleshoot why your macro isn't working, if not, you can turn on debugging for macros and see exactly what is being rendered.