I came up with a (not very good) workaround for this issue. Whenever a remerge occurs, overload the layout:ready event like this:
var oTimeout = app.setTimeOut("xfa.form.topmostSubform.RevalidateSignature.execEvent('click')",400);
then create a hidden button, override the click event with code like this:
try{
var oDoc = event.target;
var digSig = oDoc.getField("topmostSubform[0].SignatureField1[0]");
if (digSig != null) {
var info = digSig.signatureInfo();
//console.println(info.status + ":" + info.statusText);
if (info.status == 1 || info.status == 2) {
//hopefully no one clicks anything during this time
oDoc.getField("topmostSubform[0].SignatureField1[0]").signatureValidate();
}else
{
}
var info = null;
}
}catch(e)
{
}
This code will revalidate the signature on demand, whenever the layout:ready event is fired.