It's possible that the dragon itself is too big--perhaps remove variation in size.
Had the same idea, and you are spot on - created bunch of dragons, checked size with gm-editor - all bugged ones have negative sizes:
What's strange is that status screen says this one is average in size, even though some gigantic ones aren't bugged.
EDIT: Further testing shows that exact same bug occurs for giant sperm whales. However, vanilla dragons seem to work fine (even though they are bigger than JCD) - probably because they never grow old enough! Gm-editor shows that dragons generated in arena are far from their maximum possible size, mostly being 150-200 years old. Guessing further, this is because of integer overflow somewhere - last four numbers in image above equal -2^31. If so, this is a DF bug, and modding in big creatures should be avoided until it's fixed - at least unless they only grow to bugged size very slowly - then we can say they grew so powerful mundane weapons can no longer harm them.
EDIT 2: Nope, it's more complicated than that. Can't seem to reproduce this with normal dragons by making them mature to full size fast.
EDIT 3: Turns out removing MAXAGE token fixes this (out of 60 JCDs not a single one was bugged). This probably makes them immortal, but looks like that was intended anyway.
EDIT 4: Did a bit more testing, and MAXAGE is indeed the culprit - DF spawns creatures with age in some range like [0:MAXAGE], and large value causes integer overflow while calculating size. If MAXAGE is not specified, birth_year is somewhere between -150 and -300 - no overflow.
Statistics on 100 JCD with maxage:
And without:
Resolved!