Ik beantwoord mijn eigen vraag omdat ik crashes heb weten te voorkomen. Ik heb echter nog steeds problemen met secundaire fouten en ben begonnen met een nieuwe thread met de details.
Mijn herstelcode behandelt secundaire fouten nu anders. Het zal deadlocks een paar keer opnieuw proberen, maar alleen als de fout een deadlock is. Als er een ander type fout optreedt, geeft de toepassing het op.
Hoewel dit betekent dat gebruikers teleurgesteld zijn en fouten krijgen, heb ik sinds deze wijziging geen clustercrash gehad en heb ik de gevreesde "server verdwenen"-fout niet gezien.