I've finally figured it out, at least close enough that I can claim victory.
It's interesting how an idea has inertia. I had originally thought I had isolated the depth bits because they were the most dynamic bits. I was stuck thinking those were depth until I realized they could have been depth change values. I'm happy to say I wasn't far off, they were ascent rate values in feet, sampled every two seconds with intermediate samples interpolated.
The bits I that turned out to be depth change were so few that I had not even considered them for depth and I never reconsidered them when I started working on depth change, until today.
The depth change samples are 7 bits of depth change in 0.25 foot increments allowing a max change of 15.75 ft/second. My depth changes have all been less than 1.5 f/s so I haven't had a depth change that uses those higher bits, which are always 0.
What I'm still missing is the starting position. All depth change samples I've looked at over several dives have fit *exactly* what the vendor software reports however I haven't found the starting depth. It's over 6' because of how the computer works.
The temperature is odd but I have it accurate. It's in degrees F from 20F.
The only thing missing is that i have 32 bytes in a grouping of 24 samples that are unallocated to any sample. I can probably ignore them.