Please add a note to the Wire Library pages at http://arduino.cc/en/Reference/Wire
"The maximum buffer size for transmissions is 32 bytes."
I spent a lot of debug time trying to figure out why I could not read more than 32 bytes when I discovered this limitation in Wire.h and twi.h
Maybe it would make it better for the next guy.
Creepy, I was just trying to figure out the answer to that yesterday.
I agree with you, especially since when you're transmitting it has to store everything in the buffer until the end transmission is called. It's not like HardwareSerial where it just waits until it starts to empty it again.