"Also, again, since this is because I don't know Bobby - do we need to push a remove-from-bobby function to the undo stack?"

Adding to bobby is the last thing that happens in the workflow so you shouldn't need to add anything to the stack.  After all, what's going to fail and cause the stack to be unwound?  Bobby could fail, in which case you'd remove the server from load balancers and delete the server.  But there is nothing to do to bobby because bobby failed.  (Bobby failing a request and being in an inconsistent state is a problem bobby should solve.)