Keith, Dub,
To be clear, you don't want anything actually ignored, you just don't want any duplicates. So if a hierarchical keyword path exists, ignore any flat keywords that are part of the hierarchical path. Any flat keywords that are not duplicates of hierarchical keyword paths should be kept.
Correct?
-Kirk