I don't think this works because the underlying API would treat changing the autoexpiredate as a new revised order, and we won't want this.
The correct fix for this is to introduce a status (TRUNK-5011). The workaround until we've done this is to give a good error message when trying to merge the patients, so that in this rare scenario the user knows to manually close the order in one record.
We were also thinking this on the design call, so we thought it makes sense to just be quite permissive of merging records with non-drug orders.
It's going to be a very rare circumstance where this happen, i.e. two records actively being used for one patient, and one gets a panel ordered and the other gets an individual test ordered. And the patient harm of inadvertently doing a CBC and also a Hematocrit is negligible. So I would prefer to make the code more permissive and only prevent merging when both records have active orders for the exact same concept (for non-drug orders).
But if you prefer to be less permissive, and force a user to do manual reconciliation if both records have active lab orders, that's fine too. Either way, you have a green light to loosen the restrictions on patient merges as discussed here, and to treat this as a bugfix that can be backported to maintenance releases.