It's actually something either LAME or EAC is doing to the v1 fields, but I cannot find an answer. Each field is padded with spaces to make the character count exactly 30(?).

That sounds almost right - the fields should be padded with binary value 0. Reference: http://www.id3v2.org/id3v1.html

Borislav