When you compile, entities try to find a path between themselves and the void, and if they can, the map leaks. This produces all kinds of undesirable effects, such as the "changes don't show up" behaviour you noted.
Displacements won't block this line trace, so when you changed your floor-blocks into displacements, your entities gained the ability to trace a path straight through the displacements into the void, causing a leak. (This line-trace can be visualised in Hammer by going to Map -> Load PointFile).
The solution is to put nodraw floor-blocks underneath the displacements, which will block this path-trace.
As for being unable to sew the displacements, displacements require a few very specific conditions to be sewn together.
Stealing an image from
pont's google doc:
The displacements need to either be the same size, or one is exactly half the size of the other. As you can see with the angled block in the bottom right, you can have a displacement that's only the appropriate size at the edge where it meets with other displacements and it'll still sew nicely.
Hope this helps.