FAQ: Why are Nil and Null shapes returned by a spatial query against an ArcSDE layer?
Why are Nil and Null shapes returned by a spatial query against an ArcSDE layer?
Note: This behavior is specific to ArcSDE. Nil and Null shapes are not returned by spatial queries against file or personal (Microsoft Access) geodatabases.
If a spatial query, such as a zoom, is larger than the extent of the feature class being queried, then a spatial query is not executed. Instead, all the shapes are returned. This is done for performance reasons - it is far faster to return all shapes without the use of a spatial filter.
However, this method does not remove Nil and Null shapes from the result set. For operations such as a zoom, this is not an issue. But if a selection set is returned, the Nil and Null features will be part of the result. For example, if a spatial selection is performed in ArcMap where the selection envelope is larger than the layer extent, all the spatial records will be selected, including Nil and Null shapes. They appear as selected records if the layer's attribute table is opened even though there is no geometry to display.
This is a known issue and a solution is being investigated.