El control de flujo se configura en la estructure
DCB al igual que el resto de parámetros. En delphi todo un grupo de miembros de esa estructura que midem solo uno o dos bits se juntan dentro de un solo parametro llamado "flags". En resumen si no quieres tener ningún tipo de control de flujo utiliza algo como esto:
De todas formas no creo que el problema que comentas venga del control de flujo, ya que este solo actúa cuando el buffer se llena. Lo que parece que esta pasando es que no hay suficientes bytes almacenados en el buffer cuando llamas a la función readfile, por lo que la función no termina, esperando hasta recibir los bytes que le estas pidiendo.
Una forma de solucionarlo es utilizar la función
ClearCommError, que entre otras cosas nos permite saber cuantos bytes hay en el buffer esperando para ser leídos. Así una vez que sabemos cuantos bytes hay en el buffer llamamos a la función ReadFile para que lea
solo ese numero de bytes, asegurándonos de que la función terminara inmediatamente.