QUOTE(greynol @ Apr 20 2007, 22:01)

I'd add that mp3gain keeps the original replaygain values in an APE tag (along with all the other pertinent information) even after the file has been modified. In the case where a player is using the replaygain values stored in the APE tag, replaygain will have essentially been performed twice. ...
Sorry, greynol, but that's incorrect.
MP3gain adjusts also the tag values accordingly if it is allowed physically adjust the file volume level.
Let's assume that the measured value is -6.5 dB and only the tag is written, then mp3gain writes that value to the tag.
If Mp3gain also adjusts the file volume -6 dB, then only the remaining -0.5 dB is saved in the APE tag. The peak value is adjusted similarly. In addition MP3 gain saves the undo info into a separate tag.
You can easily verify this by loading a tagged only file and an adjusted file to foobar or mp3tag and checking the values or by opening the files with a hex editor.
This is for the GUI version, but I assume that the command line program is not any different.
EDIT
However, Mp3gain does not read or write ID3 tags. So, if the original values are scanned with some other program and saved in the ID3v2 tag then they will remain unaltered after the file volume is changed with Mp3gain.
In that case it would be better to use foobar for changing the volume because it adjusts the ID3v2 tags correctly. Another option is to remove the replay gain tags with foobar before Mp3gain is used.
Unfortunately foobar doesn't have all tools that are available in Mp3gain. It would be great if someone would combine the Mp3gain tools and foobar's scanning speed (on a dual core PC) & ID3v2 tag writing in a single new tool.
EDIT 2
QUOTE
I don't know what players use RG information in a Lame header, but I'd avoid using them when also using mp3gain to modify the data.
IMO, it's better to always use the --noreplaygain LAME switch. I don't know any tool that can change this LAME header value afterwards.