No they do not…I’m not even sure how they could (currently).
This is the problem with display based (only) object culling or object drawing…it does not actually cull the object from Rhino, it just keeps the object from drawing (which is not the same thing)… Rhino, and thus the picker, still thinks the object is there and therefore still allows you to pick it (or multi-pick it) or window select it.
Except for detail views, I do not believe Rhino has a way to cull objects from specific views/viewports using the SDK if/when an object is physically within the view’s frustum.
This is similar to the problem we had with bounding box additions not taking affect on commands that depend on the overall scene bounding box (i.e. Zoom Extents). We fixed that by adding a new channel and then updated the commands to run in that channel and use the resulting bounding box instead of the document’s.
The only thing I can think of as a possible solution (on our end) is that the pipeline keeps track of any ObjectCulling objects, and then the rest of Rhino could query the pipeline for object visibility, which would then include all culled objects as well as standard frustum visibility tests. As it is right now, there is no way for other sections of Rhino (or plugins) to know which objects any given display pipeline has culled from its object lists.
So to summarize… The whole problem here is that the ability to say “Don’t draw this object in this view” is not and does not mean the same thing as “Hide this object in this view”… I agree it should, but as of right now, it does not.
Something to look at for V6 I guess.