Assume for case 1, you are referring to standard synchronouse invoke() method call. In this case, will get an exception thrown is server is not there. If is async, will re-try, but will eventually fail and the invocation is lost.
For case 2 (push callbacks), the handler will get an exception when trying to push the callback to the dead client. Retries can be handled within the handler code. However, if server goes down as well, message is lost.
The only thing that has any concept of recovery (besides invocation failover) is pull callbacks with a persited store. In general, do not want to provide any types of guarantee of message delivery in case of failure as would make using remoting more complex and has already been solved by JMS.