Hi @Rowan,
Welcome to the forum! Feel free to introduce yourself!
Thank you for bringing this issue to our attention and thanks for all the work you’ve already done to try to figure out what is going on. You’re correct that a family must be existing in the Revit project, a speckle commit won’t create a new family for you (yet). It is hard to tell exactly what is going wrong here, but my first hunch is that the host / hosted relationship isn’t being set properly which is causing a failed conversion. I’m not sure why your homemade one is working while the other is failing, but it seems that even your homemade family is unable to locate some family types.
The simplest way for me to help is if you would be able to share with me a Revit file that has this family loaded so I can try to reproduce the bug.