Lass das Application.ProcessMessages mal weg. Damit wird die App zwar "reagiert nicht", aber das kann hier kein langer Zeitraum sein.
Der Comport funktioniert über Messages. Es kann sein, dass ohne die Verarbeitung der Messages gar nichts passiert. Das mussten wir auch schon einmal feststellen.