It actually doesn't seem to be a problem with the lame tag. Its the size of the ID3V2 tag that is faulty. In the mp3's analyzed so far it can be off by one, so the position of the first frame is off by one and the lame tag reading is off by one.
A way to work around this is probably to not rely on the ID3V2 size but take is as an indication and then search for the frame. I guess thats the correct procedure anyway. Still don't see the reason why the Id3V2 size should be erroneous. Is alignment-related?