Testing data integrity porting from old database to new
This answer may not be what I was originally looking for, but it's a sequence of events I went through to insure only unique data was inserted into the database vs. trying to purge it after the fact (and never being certain).  As I indicated in my comment above, I investigated using INSERT IGNORE INTO to prevent duplicate data.  To do so, I created a composite unique key that used a primary key from another table, the time stamp, and user name.  If those were not unique, don't insert the data.  That looked like this, the unique key is the last statement shown:

CREATE  TABLE IF NOT EXISTS `uniqueTest`.`events` (
  `Event_ID` INT(11) NOT NULL AUTO_INCREMENT ,
  `PCBID` INT(11) NOT NULL ,
  `EventType_ID` INT(11) NOT NULL ,
  `DateTime` DATETIME NOT NULL ,
  `User` VARCHAR(45) NOT NULL ,
  PRIMARY KEY (`Event_ID`) ,
  UNIQUE KEY `PDU_Index` (`PCBID`, `DateTime`, `User`),...


And then used string.Format to build the insert string like this:

INSERT IGNORE INTO EVENTS (PCBID, EVENTTYPE_ID, DATETIME, USER) 
VALUES (@eventPCBID, @EVENTTYPE_ID, '{2}', @user);


Along with this I came up with (with lots of SO help), methods to further ignore any child inserts by setting the LAST_INSERT_ID (set to variable @INSERT_ID) of the follow on statements to null.  If it were null, simply don't do the insert.  You can read about that here.  Here's an example of how I used variables to determine the value to use for LAST_INSERT_ID:  

SET @EVENT_ID = IF(ROW_COUNT() &gt; 0, LAST_INSERT_ID(), null);


I soon realized that I had to do more work because I frequently had child data where I was using multiple VALUES statements, and needed to be able to insert that data if the ID wasn't null, or ignore it as before.  This was done with UNION ALL, and you can read about it here.

The last thing that became a problem was that I'd frequently have NULL data, and MySQL didn't like having that in the sub-selects, so it became necessary to alias all the values something like this (keep in mind all these statements were being generated in a LinqPAD set of C# statements):

measurementInsertString += String.Format("SELECT @TestSteps_TestSteps_ID AS e, {0} AS MeasurementName, NULL AS MeasuredValue, NULL AS Min, NULL AS Max, {1} AS MeasuredString, {2} AS ExpectedString UNION ALL\n",
                                    stringMeasurements.First().measurementName,
                                    stringMeasurements.First().measuredString,
                                    stringMeasurements.First().expectedString);


Hopefully this will help someone else who's going down a similar path.