@clb: I don't think you can do h' = |M*H| because M*H is not guaranteed to be a shortest path between the two parallel lines after they're transformed by M.

That is, just because H is perpendicular to both lines before transformation doesn't mean it's perpendicular to both lines after transformation. Consider the case of a sheering of a square in to a parallelogram. One of those funny properties of affine transformations: closest point pairs on parallel lines aren't preserved.