I started experimenting again and comparing how MP3Tag writes the COMMENT ITUNNORM field as compared to iVolume for one of the troublesome MP3 files I have that is not showing the correct SoundCheck value in iTunes and here is how they were written. Note that the album replay/gain value calculated in Foobar2000 and dBPowerAmp using the EBU R128 at -18 LUFS was +2.44:
MP3Tag: 0000023A 0000023A 0000023A 0000023A 0000023A 0000023A 0000023A 0000023A 0000023A 0000023A (imports as +2.0 dB for SoundCheck because iTunes analyzes the track)
iVolume: 0000023D 0000023D 00000599 00000599 0000BD60 0000BD60 00000000 00000000 0000D0C8 00009138 (imports as +2.4 dB for SoundCheck)
I then took this a step further and looked at the files in a hex editor to see how the COMMENT ITUNNORM field has actually been written. The only reason that MP3Tag is not working to write the values to an MP3 file is because of one tiny little thing:
MP3Tag: COMM...i...0000023A 0000023A 0000023A 0000023A 0000023A 0000023A 0000023A 0000023A 0000023A 0000023A
iVolume: COMM...h...0000023D 0000023D 00000599 00000599 0000BD60 0000BD60 00000000 00000000 0000D0C8 00009138
If I change the "i" to an "h" in the hex editor, then the COMMENT ITUNNORM value that MP3Tag writes imports into iTunes correctly. I don't know what the "i" or the "h" means but hopefully someone else can take it from here and make the necessary changes so that writing these SoundCheck values works for MP3 files.