That's sexy! I'm fairly sure that what they are doing now is not fiddly at all, and it is probably related to the block being replaced several times as it grows and then again when it sprouts and is picked...and the code the swaps them out is probably completely unaware of orientation except for "true up", therefore they force the matter of figuring out orientation to locking it at initial placement - locking out orientations at placement time is already needed elsewhere, so it was probably the simplest and least work for them. The error here as I see it is that they let the player rotate the grow pots...that's the thing that needs fixed...if we were unable to change their orientation, we wouldn't have gotten our hopes up in the first place!
I think if I were looking to redo plants, I'd keep the existing system for planets and bases with gravity and add self-contained greenhouse-like device that was a 1x1x2 block. You'd then "give" the plant seed to the block and the plant would grow entirely within it regardless of how the block was oriented.
Well I cant actually write code, so my educated guess was based on other stuff they have done, and my experience is that even things that look easy at first sometimes require a lot more new code than first realized. Im sure they could do it easy enough, but like my first post hints at, its really a matter of balancing what features they can afford to work on in the given time to do it, it maybe that this is already on there list to do, and that it maybe just a long way down the list, but tweeks like this I would expect later, towards Beta.
This all goes to the growth check function of the plant. The grow plot doesn't care. The grow light doesn't care. The grow plot has to be oriented "up" so the plant can perform a check against the "grow light" in a fixed known orientation -- and I suspect that check is currently very simplistic. The plant won't allow itself to be planted in a plot that isn't oriented "up" If you move the grow light to some other orientation but within the same distance rules the plant can't "find" the grow light because it expects the grow light to be above it. If there was no "growth checks" to make I strongly suspect a plant cube would mature in any orientation...because at the end of the day it's all just code...the plant says "time! is there a grow light? lets look for that...there is! great! advance one growth!!! return to counting time!" What I suspect is that the math for the 9 possible light locations in relation to the plant within the given rules is what actually drives "plant growth"
I have also epically failed at this problem before. And I figured out: It is not gravity that determines the orientation of the plant, but the core. Try it out. No matter how the growplot or the gravgen are set, the real "top" is always where it was when the core was set. Maybe only this dependence has to be solved.
I am willing to bet this is how it works. It *should* work like motion sensors though - the grow light should create a box where plants can grow and the plant should only check if it is in one of those blocks and touching a dirt block.