I close without saving, re-open and everything is fine. Flexible sub-assemblies move the way they're expected to. As soon as I re-build though, the assembly becomes over-defined for no apparent reason.
perhaps a mate is unsurpressing when you rebuild
No, I don't think that's the case
Can you upload your file?
I have had this problem before and usually it is one of two things. Either you have a flexable sub assembly in a higher level flexible sub assembly and it is remaining rigid causeing mates to fail, or - and this is an odd one - the icons are being displayed as flexible even though the assembly is set to rigid. To fix the first issue you simply find the rigid assembly and toggle it to flexible - to solve the second issue you need to toggle the assembly to flexible but it is a little harder to find due to the fact that the icon did not update correctly when you opened it.
Also, if any sub-sub assembly is flexible, all higher subassemblies also have to be flexible or you will usually get an error.
Retrieving data ...