I resolved this issue in the following way.
When applying the upgrade, an SQL script (03.02.03.SqlDataProvider) runs against the DB, and alters these tables by adding some new ID fields based on the Files.Folder - Folders.FolderPath fields. Then creates a constraint relating these tables on the newly created ID fields.
Before the 3.3.7 upgrade, my Files table had entries in the Folder field which didn't correspond to any entries in the Folders table, some the new ID field in one table didn't correspond the the ID of the other table. Then the script tried to create the constraint (see error above).
My solution was to add the following in the 03.02.03.SqlDataProvider file at before applying the upgrade:
/************************************************************************
2008-04-14 - Added this statement to fix file path before
creating the Files_Folders constraint below. */
UPDATE {objectQualifier}Files
SET Folder = 'GoodPath/'
WHERE Folder = 'C:/BadPath/BadPath/'
GO
/**************************************************************************/
Mind you, all this is probably due to the fact that this app is a testing version.
Cheers