I chanced on a thread on the Blender Artists forums relating to this problem. That led to a much longer thread and eventually to the bug tracker.
This feature is not going to be fixed anytime soon, apparently.
bug report dated 12/13/2010
When baked, dynamic hair does not fully collide with a collision surface. Some strands partially collide and "stick" for a while, the rest just pass on through. As one subdivides the collision object higher and higher more strands are slowed.. but no strands are ever fully stopped by the object.
The response :
Message
•Date: 2010-12-13 11:57
•Sender: Janne Karhu
•This is not really a bug, but just a limitation of the current hair dynamics system. The hair dynamics are based on the cloth simulation code, which doesn't really handle edge (hair strand) collisions too well. Overall the hair dynamics are still very primitive and an upgrade to the whole system is planned for the future. Closing the report.