Given the performance issues caused in my app by Improved Rendering Mode, I set about a big UI overhaul.
In the process I've just discovered a fix for the unpredictable behaviour of autoheight on labels. First of all, the symptoms occur when you're using both autoheight=true and have a condition for visibility. I expect it's a matter of render timing - but regardless, the fix is to also make your autoheight conditional, instead of just true. The easiest way to do that is to use the same code as your 'visible' condition in your autoheight.