Richard,
Yes there is a limit to key expression length.
Maximum # of bytes per index key in a compact index = 240
I would suggest that you add one new field to the table named TablePK, make it integer and assign a unique number for each insert. Control the duplicate file names programatically and forget about the error you are now getting. Make the TablePK field the primary index and make the other one a regular index.