The SQL produces some geometries that are not oriented correctly.
Use one of the following two options to resolve the issue.
Option 1: Reorient large polygons.
SELECT
Iif(Shape.STArea() > 510065620000000, Shape.ReorientObject(), Shape) as Shape, OID
FROM (SELECT OID
,case when left(workarea,3) = 'Pol' then geography::STPolyFromText(WorkArea,4326).MakeValid()
else geography::STGeomFromText(WorkArea,4326).MakeValid().STBuffer(15.24) end as Shape
FROM aTable) a
Option 2: Use Geometry instead of Geography.
SELECT Shape, OID,Shape.STArea() as Area
FROM (SELECT OID
,case when left(workarea,3) = 'Pol' then Geometry::STPolyFromText(WorkArea,4326).MakeValid()
else Geometry::STGeomFromText(WorkArea,4326).MakeValid().STBuffer(15.24) end as Shape
FROM aTable) a