Something I've just realized is that if you've loaded a family with multiple Family Types defined, and you have purged unused Family Types from within a project, then use the Edit Family function from within the project, make some changes, and save the family out to your library, those Family Types are lost.
You have to open the family separately, make the changes, and load into Project. Just wanted to share one of my mistakes so that others can learn from it. Luckily, I'd only done this on a couple of families that I'd made copies of - no real harm done.