• The problem:
Aligning array elements to meshes can be difficult. The current (and only) projection mode when distributing with splines paths only assume a projection direction according to the Z axis of the spline node. Relatively simple situations like the one below becomes very difficult to align the individual array elements to the normals of the surface:

Almost all array elements misses the surface, and the ones that hits it ends up in the wrong place. The current solution only works for surfaces that are close to flat. The Conform modifier isn't really useful to solve this situation either.
• The Proposed Solution:
For stitch-like details like you usually want to use topology-independent paths like spline nodes to guide the stiches. The spline paths are usually placed near the mesh surface where you want the array elements to sit.
What is needed is a projection mode where the closest point on the picked surface is identified by each array element, positioned there, with the option to align an axis of each array element to the surface normal.

Example using a custom MAXscript solution.
This would allow for procedural placement of details like stiches, rivets, etc on rounded surfaces that essentially loops around and you are not limited to mainly-flat surfaces.