That script actually works okay and I have used it in one of my unfinished mods.
Script PlaceTemplate() don't place costructions (walls, floors). Only objects.
PlaceTemplate( templateID, "waypointname" )
I used it combined to a WaitForUnitWaypoint trigger which was placed on a wooden shield in one (wooden) house. After character stepped near the shield, sequence started and removed the shield and placed a secret room under it. The ground under the house was already removed in the editor and house's and template's floors were indestructible.