The records were only lost if you used SQL to correct the bad identities. If you left the bad values alone then all the records would still be there, but they'd be useless :-)
I wrote a program that will correctly insert the records into a destination database. The destination DB must exist and must have all the tables (Marco's create script in the app_data folder will set up the tables). Also, the tables must be empty first, so use Marco's script to empty them if needed.
Of course, you have to be in the "dbo" role on the target DB. But you don't need administrative rights to the target server (most of us use shared hosting sites and this works fine for them).
Create a new C# 2005 Console application and paste in the code from here:
http://www.ericengler.com/downloads/...bleData.cs.txt
Edit the connection strings as needed. You will likely have to attach Marco's DB files to your local SQL Express (or full SQL) if you haven't done that yet. Only ASP.NET 2.0 can use the app_data folder automatically - not console programs. See the readme.txt that came with the code download for instructions. Although the readme didn't specifically say this works with SQL Express also, you can take my word for it that it does.
I only tested this once, so let me know if you find problems! Life in the fast lane - it's more exciting that way!
Eric