Если совпадут все пять значений (src ip, src port, dst ip, dst port, protocol), то пакеты, относящиеся к двум разным соединениям, перепутаются, перемешаются, и сам чёрт ногу сломит в том, что получится.
Но!
Инициатор соединения (либо NAT) Src port выбирает не просто случайный, а так, чтобы пятёрка полей (src ip, src port, dst ip, dst port, protocol) в таблице соединений не повторилась.
Вот и всё!
Действительно, как инициатор соединения, так и NAT могут переиспользовать пару (src ip, src port) для других соединений. В NAT это называется Endpoint Independent Mapping и служит для экономии адресного пула. Вдобавок, и ряд сервисов (та же ICQ) ведёт себя странно, видя несколько соединений с разными (src ip, src port), но под одной учётной записью.
Но, поскольку как минимум одно значение из тройки (dst ip, dst port, protocol) уникальное, относящиеся к разным соединениям пакеты не перемешиваются.