This got me out of a pickle today. A slip-up in a join rule caused hundreds of bad joins to be made. There were far too many to un-do by hand, but then I figured out I could add a few lines to the Provisioning Sub of the MVExtension to remove all the joins made in the past hour:

If mventry.ConnectedMAs(Ma Name).Connectors.Count > 0 _
AndAlso DateDiff(DateInterval.Hour, mventry.ConnectedMAs(Ma Name).Connectors.ByIndex(0).ConnectionChangeTime, Now) < 1 Then
  mventry.ConnectedMAs(Ma Name).Connectors.ByIndex(0).Deprovision()
End If