Unfortunately, the authorize.net gateway does not mark invoices as paid automatically for repeat payments. This is due to limitations imposed by the authorize.net system which is supposed to allow silent callbacks, but which does not seem to work (and authorize.net support were unable to help). You can manually mark several invoices as paid in one go from the invoice list in nBill, which is the best workaround I could come up with.
The fact that you got an error email would seem to indicate that you have entered a URL in the silent postback setting in the authorize.net merchant account. The problem with the silent postback is that it does not send through the gateway transaction ID, so nBill cannot tell what the payment was for (hence the error message). As this problem seems intractable for now, I can only advise you to remove the silent postback URL setting from the authorize.net control panel, as it will just generate an error every time.