Well, I've got the joint destruction management under control now. Keeping track of them through my struct isn't so bad after all. I have another question though, if you guys aren't tired of hearing from me yet j/k :p
Anyway, is it the case that if you don't add 2 shapes to the same group, whose bodies are attached with a joint, they will fight? I was hoping that I could just check my struct and see if they're in the same group, process the callback, then if they are, return 0, which will skip the collision. If this is incorrect, I'll go back to debugging, but I'm almost certain they are fighting in some sense.