No it is not correct.
You should filter for unknown caches only.
If you test on me you will get
http://coord.info/GC2XRHN "PiteƤlva the challenge" that is a ordinary trad
There are also another problem that makes this in practice impossible to do
I got
http://coord.info/GC31HY2 "Make.it.High-Challenge" in my list and it it not a challenge but a bonus mystery. New challenges(2011+) must have the word Challenge in the name but there is no rule against that word in non challenge mysteries
I made a quick look in the code and i cant see removal of "A","An", and "The in the beginning of the name. The removal is optional "A Hard Challenge" can match A or H
And I see no check if the challened is logged after last archive date either to make a partial check for "You may only use your found caches that were "active" when found. Archived caches that are logged as found after the archive date are not allowed."