Agreed -- If I'm not using libBulletDynamics to drive the btCollisionObject, then presumably I'm using something else to drive them. Of couse I am; and it's my own application.

But, just like with a rigid body dynamics simulation, I still have a need to keep the visual representation in sync with the collision representation. The btMotionState class seems tailor-made for this purpose.
btMotionState is even in libLinearMath, a place where libBulletCollision can easily access it. But currently Bullet only uses btMotionState for rigid body dynamics. Being able to also use it for collision-only seems like a feature that is just waiting to be implemented...