Kennst Du Dich mit HTML oder XML aus?
Leider nicht die Bohne. 
OK.
Also zunächst einmal. Ich weiß nicht, ob das funktioniert, ist nur eine Idee, die man mal probieren könnte. Falls der Fehler gerade in den Account-Definition liegt, funktioniert es auf jeden Fall nicht.
Ausgangspunkt: Zwei verschiedene com.apple.mail.plist, einmal die alte Version, die Zicken macht, aber alle Accounts enthält, und eine neue Version, die zwar funktioniert, aber keine Mail-Accounts enthält.
1. Sicherheitskopien machen und gut verwahren!
2. Beide com.apple.mail.plist im PropertyListEditor öffnen und mit "Save As" unter dem Format "XML Property List File" abspeichern. Dabei wird das binäre plist-Format in das ältere plist-Format, das man mit einem Texteditor bearbeiten kann, umgewandelt.
3. Beide umgewandelten Dateien im Text Wrangler öffnen.
4. In der alten Version den Eintrag für DeliveryAccounts kopieren und denjenigen in der neuen plist damit überschreiben.
5. Das gleiche für den Eintrag "MailAccounts".
6. Die neue plist speichern, in com.apple.mail.plist umbenennen, in die Preferences kopieren, Mail starten, und....
7. Funktioniert es?
Was gehört alles zu dem Eintrag "xy"?
Ein Eintrag beginnt immer mit dem Codeteil
<key>xy</key>
um den Namen zu definieren und in der nächsten Zeile beginnt der Inhalt. In den beiden gewünschten Fällen ist das jeweils ein <array>...</array> und dazwischen jede Menge Zeilen mit weiteren Daten. Da der Inhalt des Arrays eingerückt ist, kann man ganz gut sehen, wo das Array endet. Danach folgt direkt der nächste Eintrag, der wieder mit <key>Name</key> beginnt.
Also kopiere alle Zeilen von einschließlich
<key>DeliveryAccounts</key>
bis ausschließlich
<key>DisableHostLookup</key>
Und kopiere alle Zeilen von einschließlich
<key>MailAccounts</key>
bis ausschließlich
<key>MailDir</key>
Probiere es einfach mal. Die Sicherheitskopien hast Du ja.