Sto rispondendo alla mia stessa domanda perché sono riuscito a evitare arresti anomali. Tuttavia, ho ancora problemi con errori secondari e ho avviato un nuovo thread con le specifiche.
Il mio codice di ripristino ora gestisce gli errori secondari in modo diverso. Riproverà i deadlock un paio di volte, ma solo mentre l'errore è un deadlock. Se si verifica qualsiasi altro tipo di errore, l'applicazione si arrende.
Sebbene ciò significhi che utenti delusi ricevono errori, non ho avuto un arresto anomalo del cluster da questa modifica e non ho visto il temuto errore "server andato via".