Ah, but........
Is the engine counting the 'ground' as the roof of the building, which will have a roadway LOD.
Maybe it is seeing the roadway as the ground, so when you destroy the building, it stays where it was originally put, at the height of the buildings roof.
What does setPosASL and getPosASL tell you when placed and after the building is destroyed?
Planck