Nie jestem do końca pewien, dlaczego tak się stało, ale wydawało mi się, że znalazłem rozwiązanie. Używam South do zarządzania DB; stworzył Messages jako InnoDB i AffiliateLead jako MyISAM. Zmiana tabeli AffiliateLead na InnoDB zakończyła wystąpienie IntegrityErrors. Mam nadzieję, że to pomoże komuś innemu.