The ImportM3U script will process the entries in the m3u file, adding to the library any files that are not already present in it, and then adding the tracks to a new playlist. I suspect the reason you are getting duplicate files created is that the paths listed in the generated m3u file are not matching up with the files that have already been imported to iTunes.
To make sure my script did what I think you want I created a test playlist of 6 tracks, exported this from iTunes as an m3u playlist, edited the list in text editor and duplicated the entries so 1,2,3,4,5,6 became 1,2,3,4,5,6,1,2,3,4,5,6. Using iTunes to import the list created a deduped playlist 1,2,3,4,5,6 whereas when I dropped the playlist on my script a new playlist was generated with the entries 1,2,3,4,5,6,1,2,3,4,5,6 as required. Since all the files were already in my library no duplicates were generated.
Compare the paths listed from a test export from iTunes with the paths generated by your "other program". I suspect the will be some kind of discrepancy in the format of the paths, e.g. a "Documents and Settings\<User>\My Documents\My Music" which should really be "Users\<User>\Music", or something similar.
tt2