How do mix networks work with server downtime? I am looking for an analysis of practical mix networks with server downtime.

For example, if a message is supposed to go from A -> B -> C -> D, what happens if B wants to send the message but C is offline temporarily?

This could be a stop-and-go mix network so holding onto a message longer is OK, but I am wondering whether there's any paper analyzing this sort of thing? For instance, how does it affect anonymity, how does B know when to retry sending it, etc?

Or what if C goes offline permanently, is the message lost? Is there a mix network protocol for resilience in this case?
It depends on your choice of mixnet, as to whether a mixnet is resilient in the case that C doesn't participate (for whatever reason, including system failures and adversarial behavior by C). 

For onion routing, where the ciphertext is of the form 


$enc(pk_A,enc(pk_B,enc(pk_C,enc(pk_D,m))))$,


the mixnet is not resilient, because $enc(pk_C,enc(pk_D,m))$ cannot be decrypted without participation of C.

By comparison, for a re-encryption mixnet, where the ciphertext is of the form


$enc(pk,m)$,


the mixnet works, since B can skip C and send directly to D. The resulting reduction in anonymity corresponds to reducing the number of mix nodes from four to three.