A file that contains scene data, like the one you want to import, contains nothing but a bunch of mel commands which, while getting executed one after the other, creates the scene.
You could recreate or fake the entire import process by typing one command after another into the script editor.
Since everything you have already done before importing the new file is also nothing but a series of mel commands, the import process is nothing but a continuation of that already executed series of mel commands, and thus there is no reason to flush the history if the user does not want it explicity. You need to be able to undo the import in order to be able to undo what you did before the import process.
Because of this, it does not matter how contextually different the data you're importing is (ie. your scene contains a car and you want to import an apple), the mere action of importing the data defines that they have something in common; in the "worst" case they share only the 3d space. You need to be able to undo all the changes which affect that 3d space in any possible way, and the import process is one them.