Looks like the code is checking to see if user has Delete rights in Role Maint and if so you get the Continue / Delete message box otherwise just a single OK button (meaning you can't save) then return to Header panel. Looks like official way to deal with this is not allow Delete rights.
But you could of course try to script it on PreWrite where you do your own Tax Schedule checking and SetError with your own msg if invalid. I'm assuming PreWrite will run before the Tax Schedule Check but you'll have to verify that.
You can see in UDF Maintenance that TaxSchedule is a DataSource for PO_PurchaseOrder_bus so something like this:
sTaxSchedule = """"
retVal = oBusObj.GetValue(""TaxSchedule$"", sTaxSchedule)
If sTaxSchedule <> """" Then
Set oTaxSchedSvc = oBusObj.GetChildHandle(""TaxSchedule"")
FoundTaxSch = oTaxSchedSvc.Find(sTaxSchedule)
End If
If FoundTaxSch = 0 Then 'show the SetError(custom msg)