I can confirm this. I have many buildings with upside-down half slabs as the ceiling/floor and they still look buggy. However, they look normal if the block exactly above them is not occupated.
Here are some screenshots.
<EDIT: Uploaded the screenshots properly>
In the first screenshot, there are only two sofas (like the ones in the 1st floor) right above the ceiling.
In the second screenshot, there are blocks right above every slab.
I can confirm this. I have 3 small villages and it happens in all of them. Please, fix this. I do not think it is a hard problem to fix and, besides, it is one of the most popular issues.
Here are some screenshots.
<EDIT: Uploaded screenshots properly>
MisterSanderson, sorry about that. (I had not seen the attachment option in the comment window, so I just put it at my Dropbox.)
Markku, I had a simple vision of the solution, like the ones posted by the OP and Sid Ben. I know almost nothing about source codes, so I assume you must know a thousand times more than me and, well, probably you're right. Still, I'm looking very forward to this fix, despite its complexity.
About that "radius times 0.6" formula, if I make an artificial village, can I deliberately choose the radius? Is there a maximum radius?