Infelizmente, o MySQL não fornece funções analíticas, como o Oracle e o SQL Server fazem.
Uma maneira de obter um "total em execução" é usar uma variável de usuário, algo assim:
SELECT t.Date
, t.NewUsers
, @rt := @rt + t.NewUsers AS `Running Total`
FROM (SELECT @rt := 0) i
JOIN (
SELECT DATE_FORMAT(created,'%Y%m%d') AS `Date`
, COUNT(item_id) as `NewUsers`
FROM AP_user
WHERE YEAR(created) > 2011
AND user_groups = '63655'
AND user_active = 1
AND userID NOT IN $excludedUsers
GROUP BY DATE_FORMAT(created,'%Y-%m')
ORDER BY DATE_FORMAT(created,'%Y-%m') ASC
) t
NOTA:O comportamento das variáveis de memória como usado acima não é garantido neste contexto. Mas se formos cuidadosos com a consulta, podemos obter resultados previsíveis e repetíveis em instruções SELECT. O comportamento das variáveis de memória pode mudar em uma versão futura, tornando essa abordagem impraticável.
NOTA:Eu basicamente envolvi sua consulta entre parênteses e dei a ela um alias como uma visualização em linha (o que o MySQL chama de "tabela derivada"). Fiz algumas alterações na sua consulta, seu GROUP BY tem potencial para agrupar janeiro de 2012 com janeiro de 2013, alterei isso. Eu também adicionei uma cláusula ORDER BY.