You don't need to delete the solid if it was never added to the document.
You can create a half sphere (GeometryCreationUtilities.CreateRevolvedGeometry) and use it within a ElementIntersectsSolidFilter. You should use an 'or' combination of BoundingBoxIntersectsFilter and BoundingBoxIsInsideFilter prior to this to cut down candidates.
You can test by creating direct shape objects and finding if they are in range of point:
Random noise objects found within distance of sphere and filtered again into two halves
00:00:00.1296225
Filtered 271 out of 7000 objects
00:00:00.2004638
Filtered 271 into two sets
Random noise objects found within distance of sphere and filtered again into eight quadrants
00:00:00.1276687
Filtered 273 out of 7000 objects
00:00:00.1882211
Filtered 273 into eight sets