Ever wonder if VARCHAR(255) or TEXT is a better data type? This thread suggests VARCHAR(255) is better because it is allowed to use MEMORY (or RAM). The TEXT data type is not allowed in there.
http://forums.mysql.com/read.php?24,105964,105964#msg-105964
Although it was also found that a larger VARCHAR like VARCHAR(3000) has worse performance than TEXT (in MyISAM).
http://nicj.net/2011/01/20/mysql-text-vs-varchar-performance
The general rule appears to be to use VARCHAR if it is less than 255 characters and to use TEXT if it’s 255 or more.