1) Quickfix использует 1 поток на сеанс. Вы можете предположить, что двигатель - это весь процесс.
ThreadedSocketInitiator используется, когда вы хотите использовать движок в качестве клиента. Вы подключаетесь к другому серверу и передаете сообщения. Вы инициируете соединения, отсюда и имя инициатора. Вы создаете новый поток для каждого сеанса, который вы устанавливаете на сервере.
ThreadedSocketAcceptor используется, когда вы хотите использовать движок в качестве сервера. Вы принимаете соединения, следовательно, акцептор. При настройке нового сеанса с клиентом новый поток создается только для этого конкретного сеанса.
Помните, что все сеансы имеют уникальный идентификатор, чтобы различать несколько сеансов. Сервер может иметь несколько сеансов с одним и тем же клиентом и наоборот.
2) Да. Но получатель должен инициировать сообщение ResendRequest, чтобы отправитель отправил его снова. Он сделает это автоматически, проверив флаг задержки в файле конфигурации, если он не получил ответа на уже отправленное сообщение.