I use the next workaround. I use for writing only mp3tag, but I must to use foobar too, for calculating replay gain and bpm (bit per minute) values, and writing them in tags. Because of foobar bugs with multiple values of MP3 tags, in these files I use " / " (without quote) as a limiter between values in COMPOSER, ARRANGER, ARTIST, LYRICIST, CONDUCTOR, PUBLISHER tags.
When I must to use foobar for writing tags:
FLAC: absolutly no probleme, of course.
MP3: I have an action in mp3tag to change all 6 (COMPOSER, ARRANGER, ARTIST, LYRICIST, CONDUCTOR, PUBLISHER) "fals" limiters (" / ") and 2 (GENRE, LANGUAGE) real limiters ("\\") to temporary else (i use "DPL"). After I did writings of RG and BPM in foobar, change them back. Important: manually refreshing in mp3tag after changes in tags with foobar!
These mp3tag actions:
Merging MP3 tags before foobar.mta
[#0]
T=5
F=COMPOSER
1=$if($eql(%_tag%,'ID3v2.3'),$replace(%composer%, / ,_DPL_),%composer%)
[#1]
T=5
F=ARRANGER
1=$if($eql(%_tag%,'ID3v2.3'),$replace(%arranger%, / ,_DPL_),%arranger%)
[#2]
T=5
F=LYRICIST
1=$if($eql(%_tag%,'ID3v2.3'),$replace(%lyricist%, / ,_DPL_),%lyricist%)
[#3]
T=5
F=ARTIST
1=$if($eql(%_tag%,'ID3v2.3'),$replace(%artist%, / ,_DPL_),%artist%)
[#4]
T=5
F=CONDUCTOR
1=$if($eql(%_tag%,'ID3v2.3'),$replace(%conductor%, / ,_DPL_),%conductor%)
[#5]
T=5
F=PUBLISHER
1=$if($eql(%_tag%,'ID3v2.3'),$replace(%publisher%, / ,_DPL_),%publisher%)
[#6]
T=8
F=GENRE
1=_DPL_
[#7]
T=8
F=LANGUAGE
1=_DPL_
Changing MP3 tags back after foobar. FIRST REFRESH!.mta
[#0]
T=4
F=TRACK
1=(\\\\d{1,3}).*
2=$1
3=0
[#1]
T=5
F=COMPOSER
1=$if($eql(%_tag%,'ID3v2.3'),$replace(%composer%,_DPL_, / ),%composer%)
[#2]
T=5
F=ARRANGER
1=$if($eql(%_tag%,'ID3v2.3'),$replace(%arranger%,_DPL_, / ),%arranger%)
[#3]
T=5
F=LYRICIST
1=$if($eql(%_tag%,'ID3v2.3'),$replace(%lyricist%,_DPL_, / ),%lyricist%)
[#4]
T=5
F=ARTIST
1=$if($eql(%_tag%,'ID3v2.3'),$replace(%artist%,_DPL_, / ),%artist%)
[#5]
T=5
F=CONDUCTOR
1=$if($eql(%_tag%,'ID3v2.3'),$replace(%conductor%,_DPL_, / ),%conductor%)
[#6]
T=5
F=PUBLISHER
1=$if($eql(%_tag%,'ID3v2.3'),$replace(%publisher%,_DPL_, / ),%publisher%)
[#7]
T=5
F=GENRE
1=$if($eql(%_tag%,'ID3v2.3'),$replace(%genre%,_DPL_,\\\\),%genre%)
[#8]
T=5
F=LANGUAGE
1=$if($eql(%_tag%,'ID3v2.3'),$replace(%language%,_DPL_,\\\\),%language%)
[#9]
T=1
F=_FIELDNAME
1=2
2=
(A FooBar kĂ©ptelen kezelni a többszörös mezĹ‘ket, mĂ©g az engedĂ©lyezett hármat se (elĹ‘adĂł, szerzĹ‘, szövegĂrĂł). Megoldás: Ha FooBar-ban kĂ©nyszerĂĽlök cĂmkĂ©t Ărni, elĹ‘tte lecserĂ©lni a 6 szemĂ©ly (COMPOSER, ARRANGER, ARTIST, LYRICIST, CONDUCTOR, PUBLISHER) "ál"-határolĂłit (" / ") Ă©s a 2 valĂłdi határolĂłt (GENRE, LANGUAGE) egyaránt ideiglenes másra, ugyanis Ăráskor a FooBar valĂłdira-rosszra (";") cserĂ©li, s ekkor adatok tűnnek el. Van rá műveletem (az ideiglenes határolĂł "_DPL_").)