It is true that's the 747s take ages to cool down (they do eventually cool down though) but there is really only one reason why BA has a notorious reputation of hot cabins. Those that are in direct control of it. I never ask for a turndown service in F as it's a waste of time. I will inevitably wake up two hours in, boiling.
I've said it before and I'll say it again, I just can't understand why BA CC don't just wear a jumper and move about more to keep warm (like they do on other airlines). Sitting down by a door in the middle of the night will make you feel cold. Whacking the temperature up and spoiling the experience of many premium travellers is just unacceptable.
In my opinion it'll never change as I don't think BA listen to the feedback and don't have the guts to instruct their staff to keep the temperatures cool during the night.
On a similar subject, I think BA short haul pilots need to be more aware of the temperature in the cabin when boarding. They keep their air conditioning switched off (presumably for cost reasons) until minutes before departure and it is unbearably uncomfortable in the cabin. They only have to look at the enormous amount of passengers who are fanning themselves with the safety card and desperately looking at the air vents trying to get some cool air to see how ridiculous they're being. Just switch the air conditioning on please.