Just to clarify something about comment frames...
Text frames use string lists, but comment frames use the other two kinds of Unicode strings: an ordinary string for the content description, and a "full" string for the actual comment text. The difference between these two kinds of strings is that a "full" string is allowed to contain newline characters, while the other is not.
Use id3_field_getstring() and id3_field_setstring() to manipulate the content description, and id3_field_getfullstring() and id3_field_setfullstring() to manipulate the actual comment text.
-- Rob Leslie rob@mars.org