MySQL tiene definido el tipo VARCHAR como de una longitud máxima declarable de 255 caracteres. Por eso te sugiere usar un TEXT.
Teóricamente, en las versiones posteriores al 5.0.3, debería soportar hasta 65576 caracteres, pero no es lo que sucede, al menos en el motor InnoDB.
Manual de referencia:
11.4.1. Los tipos CHAR y VARCHAR Cita: Los valores en columnas VARCHAR son cadenas de caracteres de longitud variable. En MySQL 5.0, la longitud puede especficarse de 0 a 255 antes de MySQL 5.0.3, y de 0 a 65,535 en 5.0.3 y versiones posteriores. (La máxima longitud efectiva de un VARCHAR en MySQL 5.0 se determina por el tamaño de registro máximo y el conjunto de caracteres usados. La longitud máxima total es de 65,532 bytes.)