I would expect a polygon on polygon comparison of similar polygons to generate a
large "combinatorial expansion" issue -- If each shape slightly overlaps its neighbors
you could easily see an order of magnitude of expansion.
I would also expect this query to be very inefficient, since there could be something on
the order of N-squared comparisons taking place (where N is the number of polygons).
Casting one layer to point isn't going to change the number of comparisons, but the
index will likely be more effective on the comparisons (provided you place the operators
in the right order to use the index).
A query this ugly is better done once, with the resulting relationships saved in a table,
than forcing a view to do so much work with every query.
A Microsoft site would be a better location to discuss the particulars of the SQL-Server
implementation of geometry comparison with respect to this problem.
- V