Well, I am feeling a bit better about the situation now than I was the other day
I took your advice and configured my application to use linuxthreads, and whilst that means I cannot use gdb on FreeBSD, it at least allows me to have it running and doing its thing.
It's funny... whenever I bring portable code to FreeBSD that (seemingly) works without fault on Linux, FreeBSD brings all the bugs to the surface. I just spent a day debugging various seg faults and all of them were potentially serious bugs that never seemed to trigger anything harmful in Linux (but would have at some point). I like FreeBSD for that, it isn't as forgiving as Linux with my code