Fossi in te non cercherei di mettere un controllo. Ecco perché.

Con il tuo sistema devi, per ritrovare tutti gli amici di 13, mettere : mittente = 13 or destinatario = 13. Il che se hai moltissimi record non sarà ottimo.
Mentre se non fai controlli visto che hai un indice sul mittente la lettura dei dati sarà quella giusta.

Sempre con il tuo sistema per ricavare gli amici di 13 dovrai rendere più complessa la query:
select case when mittente = 13 then destinatario else mittente end as amici
from tabella where mittente = 13 or destinatario = 13

Mentre con l'altro :
select destinatario from tabella where mittente = 13 or destinatario = 13