Don't know if this is helpful to you, or to anyone else, but here's an example of what worked and didn't with a few ROMs:
Dr. Mario | Dr Mario: The Game Database returns a match either way, as Title or Filename. EmuMovies only responds when the Filename is changed to Dr. Mario (emphasis on the "."), however the media it fetches is a mixture of Dr. Mario and Dr. Franken.
Kaettekita Mario Bros. | Kaettekita Mario Bros | Kaettekita Mario Brothers: My file uses "Brothers", Launchbox scrapes a Title that uses "Bros.", but that title doesn't return a match from EmuMovies. Eliminating the "." and changing it from "Bros." to "Bros" in the Title (leaving the filename ending in "Brothers".
All this is to say, your search algorithm is robust. Nice job!
And I think, and I know this is just wishful thinking, but this speaks to the need for a Dewey decimal analogue for game media. I realize that the Game Database is one of many examples of such a system, but if there was something universally adopted, especially with a numerical key, so as to avoid language and syntax issues.
I know, wishful thinking.