So I made the more standalone importer (used all the systems, just didn't extend the current importers) and was able to do some little hacky things to be able to get it to work. I will still have to make it clear to users about import logs so they don't stuff things up and lose their data.
So when configuring the importer it asks for the import log archive table name from the initial vBulletin import and then I do the hacky part...
So what I would like is a better way to handle this kind of stuff, keep your define() stuff for redirecting scripts but add something a little nicer for importers. Simply having XenForo_Model_Import::getImportContentMap() accept a third argument for the import log table would work. And then a XenForo_Model_Import::importLogExists() or something for validation.
And another thing I would like. After completing the import the controller executes some cache rebuilds. Since the caches that are being rebuilt don't have anything to do with my imports I would like to be able to skip it easily. Additionally, I would like to be able to inject my own cache rebuilds.
So basically I would like to be able to modify...
$caches = array( 'User', 'Thread', 'Poll', 'Forum' );
Sorry for wall of text, I hope I made sense.