The problem with this lies in the routers2 parser, which is responsible for identifying the community string and passing it down the chain to the plugins.
Unfortunately there is a bug in it which means it is unable to cope with community strings containing @ symbols (or colons, or spaces) and although the routers2 interface continues to work, the identified community string is wrong. This is not an easy fix; it would be quicker to change your SNMP community strings to something without an @ in it

I'll take another look at it, but the main problem lies in the fact that, in order to improve performance, parsing is done with simple regexp matching on the line, which cannot identify an embedded \@ substring. We cannot move to using the MRTG config parsing library, because this was added after ROuters2 was devleoped and it handles multiple instances of the same directive differrently (eg, routers.cgi*Extension[] directives)