By default, FlexCel tries to convert the strings to numbers (or dates) when importing the file. This is normally what you want: If you have a field with the string "1" you probably want to import this as the number 1, not the string "1".
Now, if you want to import some columns as strings and not convert them, you can do it by setting the columnImportFormat. From the help in xls.Open(...):
In your case, if you want to import say column 1 as text even if it is a number, you can do:
A TCellValue will convert to a variant automatically, but internally we don't use variants at all, so you are doing extra conversions in the first call (converting the TCellValue to a variant then the variant to a string). In the second call, we just convert the TCellValue to a string directly.