I agree that the link queries would make no sense written this way. However, it's probably not the way it's done underneath is it?
The properties and types for the filtering are passed as a string and a type, so you might be doing some reflection calls to get the properties of the base type. Isn't it possible to extend that to the possible types of the ItemsSource? Or at least allow the users to provide a list of possible types?
Even if we don't supply the types, the code could always query the property on the current type being filtered and if it's not there, handle it.
If not, do you suggest I flatten my hierarchy of classes to include everything in the base type? It doesn't seem very practical... although it might be my only option here, or perhaps I could override the connection between the filter and the grid view and do the filtering myself.