Not sure why, but running the above code shows the last two points for all the entities, if I have selected say a Window Polygon. See example below:

Output:
Command: tss
Select Objects: wp
First polygon point:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
Specify endpoint of line or [Undo]:
12 found
Select Objects:
12 Objects selected
12 Selections in SelectionSet
Window at:
(1886.16856979758,755.163512841775,0)..(1888.90531905888,952.047645899205,0)
Window at:
(1886.16856979758,755.163512841775,0)..(1888.90531905888,952.047645899205,0)
Window at:
(1886.16856979758,755.163512841775,0)..(1888.90531905888,952.047645899205,0)
Window at:
(1886.16856979758,755.163512841775,0)..(1888.90531905888,952.047645899205,0)
Window at:
(1886.16856979758,755.163512841775,0)..(1888.90531905888,952.047645899205,0)
Window at:
(1886.16856979758,755.163512841775,0)..(1888.90531905888,952.047645899205,0)
Window at:
(1886.16856979758,755.163512841775,0)..(1888.90531905888,952.047645899205,0)
Window at:
(1886.16856979758,755.163512841775,0)..(1888.90531905888,952.047645899205,0)
Window at:
(1886.16856979758,755.163512841775,0)..(1888.90531905888,952.047645899205,0)
Window at:
(1886.16856979758,755.163512841775,0)..(1888.90531905888,952.047645899205,0)
Window at:
(1886.16856979758,755.163512841775,0)..(1888.90531905888,952.047645899205,0)
Window at:
(1886.16856979758,755.163512841775,0)..(1888.90531905888,952.047645899205,0)
Except for commenting the additional WriteMessages, no other change to the code you have supplied. Any idea why this is happening?