@AaronClark the Batch Manager UI actually uses the RepairBatch method when you click Verify (go figure). Here is my pvx code from SYZCON that is updating the record counts properly. I'm not showing you the scripting equivalent because I can't seem to remember late at night when you do a GetObject if you can pass more than just the oSession handle (I think you can). You can see here I also need the module code, batch type (01), and a numeric for data entry flag.
coSession = %SYS_SS
coSession'SetModule(""B/M"")
tmpModCode$ = ""B/M"", tmpBatchType$ = ""01"", tmpDataEntry = 0, tmpBatchNo$ = ""HOLD""
oBatch = NEW(""SY_BATCHMANAGER_BUS"", coSession, tmpModCode$, tmpBatchType$, tmpDataEntry)
retVal = oBatch'RepairBatch(tmpBatchNo$,1)