For some reason recently XBMC has started to add nfo and tbn files as their own entry in the library resulting in 3 or more of every entry. Running a clean didnt remove them from the library and if they were manually removed they were re-added on the next library update.
To fix this I did two things, firstly I added more file type exclusions to my advancedsettings.config to prevent the files being reloaded once removed:
<advancedsettings>
<videoextensions>
<remove>.dat|.rar|.001|.nfo|.tbn|.txt|.sub|.jpg|.db|.srt|.sfv|.info|.divx</remove>
</videoextensions>
<advancedsettings>
Secondly I used SQLLiteSpy to have a look a the database directly. The database is stored in:
C:\Users\[USERNAME]\AppData\Roaming\XBMC\userdata\Database\MyVideos.db
Some SQL knowlege is required here, I manually deleted the duplicate entries from the tables tvshowlinkepisode, episode and files using a WHERE LIKE '%.nfo' OR LIKE '%tbn' clause to remove the correct duplicates.
Annoyingly I didnt save the SQL or I would have posted it.