Lisa,
>Here is something else to think about..I have multiple data directories. This file is fine the the other directories. In this directory, however, we are trying to convert some data in from our DOS based software. I checked in another directory (that hadn't been converted into) and it will let me add the '00000a' index. This is the only "unique" index on this file.
I see only two possibilities, since you confirmed that you are ZAPping the table before importing.
1) The index expression contains UPPER as someone else suggested
2) The value being generated by your routine is either generated as UPPERcase, or is being converted to UPEPRcase as it is stored. Is this done by a field DEFAULT value which calls a function? What is the DEFAULT value? Could it be UPPER(FunctionCall) perhaps?