The greenhouse not working might be because the blocks that make up the ceiling are not full enough. I believe that the rule is that there needs to be at least 50% of the original voxels remaining, plus the side that faces the inside of the greenhouse needs to be considered an insulating face, which I think means that it needs to be flush. So for those blocks that are one off of the middle (as in, if the blocks of the roof can be numbered 654321123456, with 1 being the blocks above the door, I mean the 2 blocks), the roof is made of two chiseled blocks on top of each other and neither of them have 50% voxels.