Your approach was the correct one, and the one we intended when we moved to using a configuration dialog for this.
For a little background...
Up until a couple versions ago, *all* of the error parsing expressions were globbed into one huge regular expression, exposed as a def_var. This worked fine for a while when customers were only expecting it to work with GCC and VC++. But as this feature became more widely used, more expressions were tacked on to support more tools. This became rather top-heavy, and we refactored it into a series of categorized expressions, and added the dialog to make it easier to add/remove/disable/reorder the expressions. However, in an effort to break as little as possible (but with the obvious performance penalty), the original gargantuan expression was still included as the "default" category.
The dialog is handy for creating and testing your modifications, but if you've got a dev team using a common set of tools, it may be easiest to have the modifications made once, and then share the configuration file. The expressions are saved in the file ErrorRE.xml in the root of the config directory.