Então, você não entendeu bem. Não há como fazer isso no seu aplicativo pois você não pode embutir uma porta nele e fazer o programa da catraca comunicar com o seu programa ao invés de comunicar com uma porta. Os programas vão se comunicar com portas (virtuais ou não, continuam sendo portas) e não com um programa. Assim, a menos que queira reinventar a roda, criar drivers para portas virtuais e refazer o com0com no Delphi, você não deve se preocupar com fazer isso no seu programa. Sobre não depender de terceiros, até onde eu sei, o com0com é gratuito e Open Source.
Baixe o com0com, mais especificamente o hub4com. Configure ele para criar duas portas virtuais (nomeie elas para COM6 e COM7, sei lá...) que vão se comunicar com a sua porta física COM1. Configure no programa da catraca para acessar a COM6 e seu programa para acessar a COM7. Problem solved.
EDIT: Ainda não sei se fui claro sobre o funcionamento... se não tiver sido pode dizer aí o que você não entendeu...