Should it happen that there is a problem in the mercurial.ini, e.g. referring to a non existing extension, any hg command will return an error message in its first row. HgEclipse seems to use the first row as the user name when it calls the appropriate hg command. It even remembers this name for later use.
This way it can happen than a changeset is committed by "*** failed to import extension hgshelve from /path/to/hgshelve.py: Errno 2 No such file or directory" instead of a valid user name.
Fixing the mercurial.ini and thus making the error message go away, still leaves hgEclipse with the cached user name for a while, so more invalid user names can creep into the source control.