According to http://dev.mysql.com/doc/refman/5.1/en/server-system-variabl es.html#option_mysqld_max_allowed_packet
#v+
The maximum size of one packet or any generated/intermediate string.The packet message buffer is initialized to net_buffer_length bytes, but can grow up to max_allowed_packet bytes when needed. This value by default is small, to catch large (possibly incorrect) packets.You must increase this value if you are using large BLOB columns or long strings. It should be as big as the largest BLOB you want to use. The protocol limit for max_allowed_packet is 1GB.
#v-
With other words: max_allowed_packet needs to be >= than the largest column?
thx