The STBuffer function in SQL Server's spatial data types creates a new geometry that represents a buffer zone around the input geometry. The buffer zone is created by constructing a series of circles centered at each point on the boundary of the input geometry, with a radius equal to the buffer distance. The resulting buffer zone is the union of these circles.

The buffer distance is measured outward from the exterior boundary of the input geometry. So, if the input geometry is a polygon, the buffer will be measured from the edges of the polygon. The resulting buffer geometry will enclose the original geometry, with a buffer zone extending outward from the polygon's edges.

The STBuffer function in SQL Server uses the Euclidean distance metric to compute the buffer. This means that it assumes a flat, two-dimensional plane and measures distances as straight lines between points. If you need to measure distances along the surface of the Earth (i.e., on a spherical or ellipsoidal model), you will need to use a different distance function.

As for why not all the properties within 100m are being selected, it could be due to a variety of factors, such as the shape and distribution of the input polygons, the specific buffer distance used, or the specific implementation of the STBuffer function being used. Without more information, it's difficult to say for sure.