I was in the same situation with the multiselect attribute. They seem to be correctly populated in
catalog_product_entity_text table but the attribute doesn't appear in layered navigation. Here is some info that may be helpful to others.
After some more debugging I found out that
text backend_type will fail the checks in
Mage_Catalog_Model_Resource_Eav_Attribute::isIndexable() and hence it will not be indexed for layered navigation. One workaround to make this input types indexable will be to rewrite this attribute resource model.
Or you can also override the
getBackendTypeByInput($type) function in
app/code/core/Mage/Eav/Model/Entity/Attribute.php and return the
field = 'text' when
case 'multiselect':. I believe this will make all multiselects to be the text type.
Also, in case you are not showing multiselect attribute in layered navigation and product listing page you will not have this issue when you change varchar to text. Make sure to set
Use in Layered Navigation,
Used in Product Listing,
Used for Sorting in Product Listing to
Lastly, there are more details available in Vinai's answer here.
Another (not recommended) solution here will be to alter table and increase the varchar field length. See http://dev.mysql.com/doc/refman/5.0/en/char.html