U mnie (Qgis 1.9.90 z biblioteką GDAL 1.9) wszystko działa aż do 255 znaków: utworzone pola nie mają ograniczenia długości (we właściwościach warstwy widnieje 0, zaś po zapisie do SHP utworzone pola mają długość 255. Oczywiście cały czas widzę 255-znakowy tekst w całości. Zakładam, że masz starszą wersję, więc problem jest czasowy. Tymczasem spróbowałbym deklaracji długości pola w CSVT.
Otóż pliki CSV można wczytywać na dwa sposoby: przez wtyczkę "Dodaj warstwę tekstową oddzielaną separatorami" oraz jak zwykłą warstwę wektorową (sposób obsługiwany przez bibliotekę GDAL/OGR). Ta druga metoda umożliwia zadeklarowanie typów pól, tylko do posiadanego pliku .csv trzeba dopisać dodatkowy pliczek .csvt. Jeśli mamy tabelę z geometrią, to żeby QGIS ją łyknął jako warstwę, potrzebny jest jeszcze drugi pliczek .vrt Ich struktura opisana jest tutaj:
http://www.gdal.org/ogr/drv_csv.html
Mam nadzieję, że to pomoże.