John,
It sounds like you're trying to do something very complex, which means there's always the possibility of unforeseen difficulties. Would you mind providing some more information on what you're trying to accomplish? Are you trying to override code generation?
In general, filtering against the "Navigation" string for your properties should be pretty safe, since you're using it against generated code. It's certainly what I'd do.
If you can provide some more information on your use-case, we'll think it through a bit more to make sure it does match your need, though. It may be that there's another technique you could use which is more straight-forward than building a model of your model with reflection.
Yours
Robert