In the documentation, under "Remarks", the third column lists the value returned by getselectedobject3(). There are several selection types for which that column is blank (and several where the second and fourth columns are also blank). Is this meant to communicate that those methods cannot be used to return that particular selection type?
Also, if so many selection types actually return an iFeature object, why not just make that a selection type of its own and let the developer use iFeature.GetTypeName2 from there? The way it is implemented now, if you want to check for selected iFeature objects generically, you have to include every possible iFeature in the bunch.