Hi Mark
Are these reports that you are running?
LCDetailed Species List 1 and 10km.xml
LCDetailed Species List 1or10km.xml
or possibly something derived from the same code (written by Mike Weideli, 2007)?
They both run fine on my V6.22 installation (with Sort_Order 30 characters, which I'm guessing I increased from 20 when I updated other reports). So if these are the same reports I don't think there's anything else specific to V6.22 that causes a problem.
I had a quick check, and I couldn't find any preferred or common names in the INDEX_TAXON_NAME table referenced in the report that break the character limits in the temporary table #Main_Results (125 characters - maximums found were 74 characters long). Couldn't see any other obvious candidates as the limits for other columns seem pretty generous, though there is always the possibility that the user has some records in their database that break limits - Recorders over 4000 characters or Determiners over 200 characters!
I would suggest confirming that he has definitely overwritten the files with new copies/is opening right report, and if so does the error occur on every 1/10km square used as a parameter? If it works on some squares but not others that might suggest that specific records are in fact breaking character limits, or are a bit dodgy in some other way. Otherwise I'm stumped, and you need help from someone with more expertise than me!
I believe that the Grid Ref, Dates, Recorders and Determiners are the only user entered data used in these reports (i.e. maybe more likely to contain odd values?), with the rest either system generated keys or from the dictionary. Anyway, just for comparison, these are the character limits for the #Main_Results tables in my copies of these reports:
TLI_KEY CHAR(16) COLLATE SQL_Latin1_General_CP1_CI_AS,
Preferred_Original VARCHAR(125) COLLATE SQL_Latin1_General_CP1_CI_AS,
GridRef VARCHAR(30) COLLATE SQL_Latin1_General_CP1_CI_AS,
Sort_Order VARCHAR(30) COLLATE SQL_Latin1_General_CP1_CI_AS,
Preferred_Name VARCHAR(125) COLLATE SQL_Latin1_General_CP1_CI_AS,
Common_Name VARCHAR(125) COLLATE SQL_Latin1_General_CP1_CI_AS,
Vague_Date_Start INTEGER,
Vague_Date_End INTEGER,
Vague_Date_Type VARCHAR(2) COLLATE SQL_Latin1_General_CP1_CI_AS,
Recorders VARCHAR(4000) COLLATE SQL_Latin1_General_CP1_CI_AS,
Determiners VARCHAR(200) COLLATE SQL_Latin1_General_CP1_CI_AS
Good luck!
Andy