This one took a while to put together, but hopefully someone out there will fine it useful.
Autodesk Softimae has a surface constraint, which forces a constrained object the follow the surface of another object. Unfortunately, it only works with NURBS surfaces, and not with polygonal meshes, which are used a lot more than NURBS.
After some digging through the SDK documentation and a few late nights I did manage to come up with a solution: the Geometry Constraint plug-in.
I’ve tested as best as I could, and it was stable and robust in all the scenarios I’ve tried. So it should be production worthy.