regarding fte vs dp, fte implements a slightly earlier version of dp's ode api, and thus omits the builtins (the fields+jointtype constants you have documented for dp should all exist in fte and work the same, but the builtins are stubs). just be sure to set sv_mintic and sv_maxtic to the same value or things can spontaneously go flying across the room - ode just needs a fixed tick rate.
fte will apparently try to dynamically link against an 'ode_double.dll' in win32 builds, 'libode1_64.dll' using the win64 build, or 'libode.so.1' on linux. If not found or incompatible, the physics_ode_enable cvar will be force-set-and-locked to 0.
fte provides ode clientside as well, while I've heard reports that dp's ode implementation is buggy if used from csqc. It may have since been fixed.
if you want to do special stuff like ragdoll, you'll need to combine it with the skeletal objects extension, ideally through csqc (note the end of my previous paragraph, sorry).
there is a simpler ragdoll alternative with fte that can give clientside ragdoll via purely ssqc, but I'm too lazy to document it, and its probably buggy anyway. :s