Hi Scott. This flow (generically represented as real time budget check, encumbrance, or accounting validation), can be achieved in a number of ways. The two primary ways are ones you mentioned - submit/approve hooks or "robot" approvers. In both cases a WebService call to dump the desired data can be invoked, sent to the ERP, the ERP crunches whatever it needs to crunch, and then the return message can either be a true/false or contain data to update the Ariba requisition. Our Ariba Consulting practice has a customization framework for this type of integration that includes state management for error handling, etc. that they have implemented at a number of customers. If you would like to discuss with them I'd be happy to make the connection.
thanks,
Dave Leonard