1. What editing state is the BO set to when Undo() is called? I checked the object browser and it doesn't have anything.
Calling Undo() will always set the editing state of the business object back to idle.
2. When it updates the bound controls will it update to the previous values (empty/default values in the case of adding a new row) or the current values of the bound controls (I assume the former)?
It will update to the former (previous values)... however, if you call Undo() after you have added a row, the values of that new row will not be set back to default... the row itself will be removed from the business object and it will navigate to an adjacent row.
3. If a SaveUndoResult is anything other than success, what is the editing state of the BO?
Whatever the state was before Save() was called... the state is not changed if Save() does not return Success.