It should work if you name the harness itself, either by using a net label or by connecting it to a port (the latter probably being why harnesses have worked properly across sheets for you in the past).
I think the problem is that connecting a wire to a harness entry isn't sufficient for Altium to establish an identifier for that wire, because harnesses are meant to be able to be duplicated through a design. I'm not sure why connecting the harness connectors isn't sufficient to let Altium know that they're connected and to assign a name to the harness automatically the way it does with nets, but I suspect this is a holdover from the way that buses work--it does allow you to use harnesses/buses as dumb graphical elements without affecting the connectivity of the design, which is sometimes useful. Anyway, to establish connectivity the wire has to be attached to a harness entry AND a named *harness*, at which point Altium designates it 'HarnessName.EntryName' which then becomes the name of the associated net.
Note that since you have net labels on wires that are attached to harnesses once you name the harness you will have multiple names for those nets. If you name that harness "H1", for example, you'll have the names EL_MF_SHLD and H1.SHLD associated with the same net. This results in a warning by default, but you can assign it whatever ERC level you deem appropriate.